Docker์ ๊ณ ์ ํ ๊ธฐ๋ฅ ์ค ํ๋๋ Docker ์ปจํ ์ด๋๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ๋์ผํ ๊ฐ์ ํ๊ฒฝ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ด๋ค.
vi /etc/docker/daemon.json
๋ช ๋ น์ด๋ฅผ ํตํด ์๋ ๋ช ๋ น์ด๋ฅผ ์ฝ์ ํ๋ค.
{
"insecure-registries":[
"localhost:5000"
]
}
ํด๋น ๋ณ๊ฒฝ์ ์ ์ฉํ๊ธฐ ์ํด์ docker Daemon ํ์ผ์ ๋ฆฌ๋ก๋ ํด์ผํ๋ค.
sudo systemctl daemon-reload
private resistry๋ฅผ ์คํ์ํต๋๋ค.
docker run -d -p 5000:5000 --restart=always --name registry registry:2
ํ ์คํธ๋ฅผ ์ํด์ centos image๋ฅผ ๋ค์ด๋ก๋ํ๋ค.
docker pull centos
์ด๋ฏธ์ง์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค.
docker tag centos:latest localhost:5000/baeldung-centos
์ด๋ฏธ์ง๋ฅผ push ํ๋ค.
docker push localhost:5000/baeldung-centos
๋ง์ง๋ง์ผ๋ก ๋์ปค ์ด๋ฏธ์ง๊ฐ ์ ๋ค์ด๋ก๋ ๋๋์ง ํ์ธํ๋ค.
docker pull localhost:5000/baeldung-centos
๋ง์ฝ ์ธ๋ถ์ ํจ๋ถ๋ก ๋ ธ์ถ ๋๋ฉด ์๋๋ ์ด๋ฏธ์ง ๊ฐ์ ๊ฒฝ์ฐ ์ธ๋ถ๋ก๋ถํฐ ๋ณดํธ๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ด๊ฒฝ์ฐ registry์ ์ ๊ทผํ ๋ ์ธ์ฆ์ด ํ์ํ๋ฉฐ htpasswd ์ธ์ฆ์ด ํ์ํฉ๋๋ค.
๋จผ์ Docker ๋ ์ง์คํธ๋ฆฌ ์๊ฒฉ ์ฆ๋ช ์ ์ ์ฅํ ๋ณ๋์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
mkdir -p Docker_registry/auth
์๋ ๋ช ๋ น์ด๋ฅผ ํตํด์ htpasswd ๋ฅผ ํตํด ์ธ์ฆ ๋ฐ์ ์ ์ ๋ฅผ ์์ฑํฉ๋๋ค.
ํด๋น ์ ์ ์ ๊ดํ ์์ธํ ์ ๋ณด๋ auth/htpasswd ํ์ผ์ ์ ์ฅ๋ฉ๋๋ค.
cd Docker_registry && docker run \
> --entrypoint htpasswd \
> httpd:2 -Bbn baeldung-user baeldung > auth/htpasswd
์ด์ ์คํํ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
docker stop ๋ ์ง์คํธ๋ฆฌ ์ด๋ฏธ์ง & docker rm ๋ ์ง์คํธ๋ฆฌ ์ด๋ฏธ์ง
๋ณด์์ด ์ ์ฉ๋ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ๋ค์ ์คํํฉ๋๋ค.
docker run -itd \
-p 5000:5000 \
--name registry \
-v "$(pwd)"/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry
๋ก๊ทธ์ธ ๋ฐฉ๋ฒ
docker login localhost:5000 -u baeldung-user -p baeldung
vi /etc/docker/daemon.json
{
"insecure-registries": ["์๋ฒIP:5000"]
}
daemon.json ํ์ผ์ ์์ ํ์๋ค๋ฉด, ๋์ปค๋ฅผ ์ฌ์์ ํ๋ค.
systemctl restart docker
๋ง์ฝ systemctl์ด ์๋๋ฉด ์๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด๋ณด์
service docker restart
์ฐธ์กฐ