본문으로 건너뛰기

Day 4 - Docker Private Registry

Day 4 - Docker Private Registry

목차


1. Registry 구축

main0

docker run -d -p 5000:5000 \
-v $HOME/registry_data:/var/lib/registry \
--restart=always \
--name registry \
registry:latest

# 확인
curl -X GET http://192.168.206.6:5000/v2/_catalog

2. 이미지 Push/Pull

main1

insecure-registry 설정

sudo tee /etc/docker/daemon.json <<EOF
{
"insecure-registries": ["192.168.206.6:5000"]
}
EOF
sudo systemctl restart docker

Push

docker tag nginx:1.29.3-alpine 192.168.206.6:5000/nginx:1.29.3-alpine
docker push 192.168.206.6:5000/nginx:1.29.3-alpine

Pull (다른 호스트)

docker pull 192.168.206.6:5000/nginx:1.29.3-alpine
docker run -d -p 80:80 --name web 192.168.206.6:5000/nginx:1.29.3-alpine

3. 커스텀 이미지 등록

main2

# 컨테이너 커스터마이징
docker cp ./index.html web1:/usr/share/nginx/html/

# 커밋 및 푸시
docker commit -m "add utf-8 config" web1 web:nginx-alpine
docker tag web:nginx-alpine 192.168.206.6:5000/web:nginx-alpine
docker push 192.168.206.6:5000/web:nginx-alpine

4. MySQL 백업 및 저장

main3

mysqldump 백업

docker exec mysql-master mysqldump -u root -p<PASSWORD> --all-databases > ~/backup.sql

이미지로 저장

docker commit mysql-master pista/mysql:8.0.44-debian
docker tag pista/mysql:8.0.44-debian 192.168.206.6:5000/pista/mysql:8.0.44-debian
docker push 192.168.206.6:5000/pista/mysql:8.0.44-debian

Registry 확인

curl -X GET http://192.168.206.6:5000/v2/_catalog
curl -X GET http://192.168.206.6:5000/v2/pista/mysql/tags/list

관련 문서

그래프 뷰

그래프 데이터 로딩 중…
현재: Day 4 - Docker Private Registry
노드 클릭 → 이동 · 드래그 → 위치 조정