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 리스트가 나오게 된다.