docker私有倉庫的搭建

Docker容器應用的開發和運行離不開可靠的鏡像管理,雖然Docker官方提供了公共的鏡像倉庫,從安全和效率等方面考慮,部署私有環境內的Registry是非常必要的
1、環境
...92,docker私有倉庫服務器,centos7.3
...91,使用docker鏡像的服務器,centos7.3
2、安裝軟件
安裝docker(兩個服務器都要安裝):
yum install -y epel-release
yum install -y docker-io
啓動:
systemctl start docker
systemctl enable docker
docker version
systemctl status docker
安裝私有倉庫(...92):
docker pull registry#拉取registry鏡像
docker run --name docker-registry -d -p 5000:5000 registry#啓動一個registry容器,提供私有倉庫服務。
執行命令curl -X GET http://127.0.0.1:5000/v2/_catalog,收到的響應如下,是個json對象,其中repositories對應的值是空的json數組,表示目前倉庫裏還沒有鏡像
{"repositories":[]}
私有倉庫創建成功。
3、配置
支持http協議推送(
...91):
正常情況下,應用服務器推送鏡像到倉庫用的是https,此處我們通過命令行來測試推送用的是普通的http,所以需要修改docker的啓動參數,使之允許以http協議工作;
修改/etc/default/docker文件:
cat /etc/default/docker
DOCKER_OPTS="--insecure-registry ...92:5000"
修改 /usr/lib/systemd/system/docker.service
增加兩行
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecReload=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
修改 /etc/docker/daemon.json
{
"insecure-registries": ["https://
...92:5000"]
}
給需要推送的鏡像添加一個帶有私有倉庫的ip的TAG:
docker tag 8428e0398d0d ...92:5000/myip_father
推送鏡像到私有倉庫:
docker push
...92:5000/myip_father
檢查:
服務器上分別執行:
curl -X GET http://127.0.0.1:5000/v2/_catalog
出現:{"repositories":["myip_father"]}
curl -X GET https://*.*.*.92:5000/v2/_catalog
出現:{"repositories":["myip_father"]}
成功推送到私有倉庫。
從私有倉庫拉取:
docker pull ..*.92:5000/myip_father
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章