DevOps & Infra/Docker
[Docker] Docker Registry 아이디, 비번 설정하여 로그인하기
나른한댕댕이🐶
2022. 7. 14. 19:20
728x90
반응형
# 배경
사설 Docker Registry의 이미지를 누구나 사용할 수 없도록 아이디, 비밀번호를 설정하고자 한다.
# Htpasswd 설정
1. id, pw기반으로 사용하기 위해서는 htpasswd를 사용할 수 있어야한다. 이를 위한 디렉토리를 생성
$ mkdir -p /mnt/docker/auth
2. htpasswd파일을 생성한다
$ docker run --entrypoint htpasswd registry:latest -Bbn {user} {PW} > /mnt/docker/auth/htpasswd
- 이렇게 진행을 했을 때 htpasswd에 대한 에러가 났다.
- 확인을 하니 registry 2.7이상부터는 registry 이미지에 htpasswd가 포함되지 않는다고 한다.
3. htpasswd를 직접 설치하여 진행한다.
[htpasswd tool 설치 명령어]
$ yum install httpd-tools -y >> apt install apache2-utils
[명령어]
$ htpasswd -Bbn {user} {PW} > /mnt/docker/auth/htpasswd
$ systemctl restart docker
4. docker registry 컨테이너를 해당 id, pw를 변수로 넘겨 실행한다.
$ docker run -d -p 5000:5000 \
-v /mnt/docker/registry:/var/lib/registry \
-v /mnt/docker/auth:/auth \
-e REGISTRY_AUTH=htpasswd \
-e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
--name registry registry:latest
# Docker Registry 로그인
$ docker login registry.xxx.com

- 로그인 Success 메시지가 뜨면 성공!
728x90
반응형