目的
在服務器搭建私有倉庫,并實現(xiàn)用戶名密碼認證
環(huán)境
服務器 centos 7.9
PC windows10 & mac os
服務器docker配置
- 安裝docker 以及啟動
yum install docker -y
systemctl start docker
- 拉取 registry
docker pull registry:2
- 創(chuàng)建倉庫地址以及用戶名密碼
mkdir ~/docker-hub/registry
mkdir ~/docker-hub/config
mkdir ~/docker-hub/auth
創(chuàng)建密碼,有2種方式。
第一種(嘗試未成功)
docker run --entrypoint htpasswd registry:2 -Bbn abc 123 >> /docker-hub/auth/htpasswd
第二種(成功)
yum install -y httpd
htpasswd -Bbn abc 123 > ~/docker-hub/auth/htpasswd
- 配置文件 ~/docker-hub/config/config.yml
version: 0.1
log:
fields:
service: registry
storage:
delete:
enabled: true
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: ~/docker-hub/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
- 創(chuàng)建容器并啟動
docker run -d -p 5000:5000 --restart=always --name=registry -v ~/docker-hub/config/:/etc/docker/registry/ -v ~/docker-hub/auth/:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=~/docker-hub/auth/htpasswd -v ~/docker-hub/registry/:/var/lib/registry/ registry:2
- 修改vi /etc/docker/daemon.json
{
"insecure-registries": ["http://x.x.x.x:5000"]
}
- PC機 修改配置
{"insecure-registries": ["http://x.x.x.x:5000"]}
- 創(chuàng)建鏡像標簽 并push
docker tag 鏡像 x.x.x.x:5000/鏡像
#登錄
docker login http://x.x.x.x:5000
docker push x.x.x.x:5000/鏡像