나만의 Docker registry 만들기

Docker registry


https를 적용을 하지않고 http를 사용하지만, 간단한 인증은 진행하는 docker registry를 만들어보자.

$ mkdir $PWD/registry_data/auth

$ docker run \

    --entrypoint htpasswd \

    registry:2 -Bbn "silnex" "myPassw0rd" > $PWD/registry_data/auth/htpasswd

위 커맨드를 사용해 $PWD/registry_data/auth안에 htpasswd라는 인증을 위한 ID와 Password 파일을 만들어준다.

docker run -d --name <my-registry> \
        --restart=always \
        -v $PWD/registry_data:/data \
        -v $PWD/registry_data/auth:/auth \
        -e "REGISTRY_AUTH=htpasswd" \
        -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
        -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
        -p 5000:5000 \
        <my-docker-registry>

이렇게 실행하면 실행 후 <my-docker-registry>:5000에 위에서 설정한 id와 pw로 docker registry에 push와 pull을 할 수 있다.

 

Ex

$ docker login <my-docker-registry>:5000 
>> id와 pw를 입력

$ docker push <my-docker-registry>/<my-image>:tag

이렇게 하면 내 registry에 이미지가 올라가게 된다.
확인은 직접 pull을 해보는 방법도 있지만, http://<my-docker-registry>:5000/v2/_catalog에 들어가 로그인하면 image 리스트가 나오게 된다.

글의 문제가 있다면 댓글을 달아 주세요.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.