1. 程式人生 > >Docker學習筆記——私有倉庫部署

Docker學習筆記——私有倉庫部署

docker registry https

1、系統環境:CentOS 7.3

172.16.0.44 registry 已安裝docker

172.16.0.45 client 已安裝docker

2、未加密倉庫部署

下載registry鏡像

  docker pull registry

啟動一個registry容器

  docker run -d -p 5000:5000 -v /opt/registry/:/tmp/registry registry

下載一個需要私有部署的鏡像

  docker pull redis

修改鏡像的tag

  docker tag redis 172.16.0.44:5000/redis

上傳打完tag的鏡像到私有倉庫

  docker push 172.16.0.44:5000/redis
  The push refers to a repository [172.16.0.44:5000/redis]
  Get https://172.16.0.44:5000/v2/: http: server gave HTTP response to HTTPS client

因為從 docker1.3.2 開始,docker registry 默認都是使用v2,使用 https 協議而不是 http

解決辦法:

在/etc/docker目錄下,創建daemon.json文件,添加如下內容:

  { "insecure-registries":["172.16.0.44:5000"] }

保存退出

  systemctl daemon-reload
  systemctl restart docker

重啟後再次上傳鏡像,會提示如下錯誤

  The push refers to a repository [172.16.0.44:5000/redis]
  Get http://172.16.0.44:5000/v2/: dial tcp 172.16.0.44:5000: getsockopt: connection refused

這是因為重啟docker服務後,剛才創建的registry倉庫的容器停止了,重啟啟動容器,就可以上傳成功了

  docker push 172.16.0.44:5000/redis
  The push refers to a repository [172.16.0.44:5000/redis]
  2bf5fdee0818: Pushed 
  e23ed9242cd7: Pushed 
  32f085a1e7bb: Pushed 
  05d392f56700: Pushed 
  2b0fb280b60d: Pushed 
  latest: digest: sha256:ee24c6a68d9ce22df1aa743ea4c624cdc74e4d99b78e199d480292675249ebca size: 1364

檢查私有倉庫是否配置成功

  curl http://172.16.0.44:5000/v2/_catalog
  {"repositories":["redis"]}

在客戶端下載私有倉庫上的鏡像查看成功

  docker pull 172.16.0.44:5000/redis

3、加密倉庫部署

上傳或生產自己的證書文件到倉庫服務器上

把證書文件server.key server.pem上傳到certs目錄下

  mkdir -p /etc/docker/certs

啟動registry容器

  docker run -d -it -p 5000:5000 --restart=always --name zx_registry -v `pwd`/certs:/etc/docker/certs/ -v /opt/registry/:/tmp/registry -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/docker/certs/server.pem -e REGISTRY_HTTP_TLS_KEY=/etc/docker/certs/server.key registry

拷貝證書文件到客戶端

  scp certs/server.pem [email protected]:/etc/pki/ca-trust/source/anchors/

客戶端更新證書文件

  cd /etc/pki/ca-trust/source/anchors
  update-ca-trust

後面的操作就同未加密倉庫部署一樣,下載鏡像,鏡像打tag,上傳鏡像到本地倉庫,客戶端下載私有鏡像


知行辦公,專業移動辦公平臺 https://zx.naton.cn/
【總監】十二春秋之,[email protected]
【Master】zelo,[email protected]
【運營】狼行天下,[email protected]
【產品設計】流浪貓,[email protected]
【體驗設計】兜兜,[email protected]
【iOS】淘碼小工,[email protected];iMcG33K,[email protected]
【Android】人猿居士,[email protected];思路的頓悟,[email protected]
【java】首席工程師MR_W,[email protected]
【測試】土鏡問道,[email protected]
【數據】喜樂多,[email protected]
【安全】保密,你懂的。


本文出自 “踐行者” 博客,請務必保留此出處http://bluemooder.blog.51cto.com/12822812/1961299

Docker學習筆記——私有倉庫部署