erea

docker registry native basic auth 본문

devops/docker

docker registry native basic auth

erea 2018. 7. 16. 22:42

docker registry에 인증을 달아보자.


docker run --entrypoint htpasswd registry -Bbn <user> <password> > htpasswd

 우선 인증키를 만들고

docker run -d -p 5000:5000 --restart=always \ -v /home/dev/registry:/var/lib/registry \ -v /home/dev/certs:/certs \ -v /home/dev/registry/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/ssl.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/ssl.key \ --name docker-registry \ registry:latest

인증키 및 ssl 인증서를 마운트 해주면 간단하게 구현된다.

 docker run -it -p 8080:8080 --restart=always \
--name registry-web \
--link docker-registry \
-e REGISTRY_URL=https://docker-registry:5000/v2 \
-e REGISTRY_TRUST_ANY_SSL=true \
-e REGISTRY_NAME=localhost:5000 \
-e REGISTRY_BASIC_AUTH="dGVzdDp0ZXN0" \
hyper/docker-registry-web


도커 레지스트리 웹에도 같이 구현할수 있다.

registery_basic_auth의 값은 id:password 를 base64인코딩해서 넣으면된다.



 docker login <uri> --username <id> --password <password>


해당 인증이 번거로우면

vi /root/.docker/config.json

        "auths": {
                "dockerdev2.us.oracle.com:7344": {
                        "auth": "bXNwYXJjaDpjbG91ZHkz"
                }
        }
}

넣어두면 인증이 통과된다.


Reference

https://docs.docker.com/registry/

https://docs.docker.com/engine/reference/commandline/login/#default-behavior


'devops > docker' 카테고리의 다른 글

centos7 service script 사용  (0) 2018.07.01
centos7 docker systemctl 권한 얻기  (0) 2018.07.01
docker 환경구축  (0) 2017.12.14
docker 설치시 hyper-v 오류시  (0) 2017.12.14
vagrant  (0) 2016.09.30
Comments