您好,登錄后才能下訂單哦!
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。