docker使用容器搭建本地私有倉庫

peihhua發表於2020-11-17

一. 搭建本地私有倉庫

1.1 安裝docker-ce

安裝docker-ce的步驟參考以下連結

https://editor.csdn.net/md/?articleId=109626644

1.2 下載私有倉庫核心映象

docker pull registry
[root@gsy ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
registry            latest              708bc6af7e5e        2 months ago        25.8MB

1.3 編輯守護程式檔案,新增本地倉庫IP,然後重啟docker

修改/etc/docker/daemon.json 檔案

加入"insecure-registries":["12.0.0.22:5000"],注意之間的逗號
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://caws71zg.mirror.aliyuncs.com"],
  "insecure-registries":["12.0.0.22:5000"]
}
systemctl restart docker

注意:重啟完後:所有的容器都會被釋放掉,變成exited狀態

1.4 執行容器registry倉庫

docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
//安裝的registry映象製作成容器時需要提供空間給容器,否則私有倉庫不能開啟,即需要與宿主機掛載資料卷
錯誤:docker create -it registry /bin/bash
          docker ps -a
          38fb4a0c709d        registry            "/entrypoint.sh /bin…"   3 minutes ago        Exited (127) 2 minutes ago                                                    pedantic_borg
          無法docker start 成功

1.5 上傳映象到映象倉庫

上傳私有倉庫時,必須要更改標籤,標籤的格式有規定 先是IP地址:埠號/映象名
因為在daemon.json 裡指定了私有倉庫的IP:埠

#更改標籤:docker tag nginx:latest 12.0.0.22:5000/nginx_hz

#映象上傳:docker push 12.0.0.22:5000/nginx_hz

#檢視映象倉庫中的映象:curl -XGET http://12.0.0.22:5000/v2/_catalog
{"repositories":["nginx"]}

二. 設定本地映象倉庫

  1. 下載registry映象
  2. 生成registry容器,開放5000埠,並對映出去
  3. 客戶端設定daemon.json檔案 指定私有倉庫位置
  4. 將要上傳的映象打標籤 倉庫IP:埠/映象名
  5. 上傳映象 docker push 倉庫IP:埠/映象名
  6. 下載映象 docker pull 倉庫IP:埠/映象名

相關文章