docker 安裝私有倉庫 registry(離線)


centos 7.3( Docker version 19.03.12)

離線本地倉庫     192.168.10.10

客戶機              192.168.10.11


一.先在正常網絡下,使用docker pull正常拉取鏡像。

docker pull registry

2.使用docker images,查看已拉取的鏡像

docker images

3.將鏡像保存為本地文件
docker save -o registry.docker  111622000b9b    #在當前目錄下會生成一個registry.docker的文件,將其copy至U盤上。



二、開始在離線機器192.168.10.10安裝本地registry(私有倉庫)

1.  將下載打包后的鏡像拷貝到要安裝私有倉庫的服務器運行
docker load -i ./registry.docker

2.如果鏡像名稱為空,可以使用以下命令修改
#docker tag imageID 鏡像名:版本號

docker tag  2d4f4b5309b1  registry:latest

3.修改配置文件,添加一句信任私有倉庫

vi /etc/docker/daemon.json

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

image

4.重啟docker

systemctl restart docker

5.創建倉庫存放倉庫地址,並啟動registry私有倉庫

mkdir -p /opt/data/registry

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry

image

三、離線客戶機192.168.10.11測試上傳、拉取鏡像。

准備的步驟和上面幾乎一樣

1.先在有正常網絡的服務器下,使用docker pull正常拉取鏡像,並保存打包並上傳到需要測試的機器

docker pull nginx

docker pull centos

docker save -o nginx.docker  鏡像ID      #在當前目錄下會生成一個registry.docker的文件,將其copy至U盤上。

docker save -o centos.docker  鏡像ID

最終上傳到離線測試客戶機是這樣的

image

2.將下載打包后的鏡像拷貝到要離線測試機后加載

docker load -i ./nginx.docker

docker load -i ./centos.docker

image

3.如果鏡像名稱為空,可以使用以下命令修改
#docker tag imageID 鏡像名:版本號

docker tag  4bb46517cac3   nginx:latest

docker tag  0d120b6ccaa8   centos:latest

4.鏡像打標簽並命名

注意:客戶端打標簽命名很嚴格,不然等下傳不上去,下載不了,必須帶上私有倉庫地址

# docker tag       源鏡像名字:版本       私有倉庫地址/鏡像名字:版本

docker tag nginx:latest  192.168.10.10:5000/nginx:latest

docker tag centos:latest  192.168.10.10:5000/centos:latest

# 查看確認鏡像名字,並添加信任,不如后續會報錯http: server gave HTTP response to HTTPS client

docker images

#docker修改配置文件,添加一句信任私有倉庫

vi /etc/docker/daemon.json

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

#重啟docker

systemctl restart docker

5.上傳鏡像到離線私有倉庫192.168.10.10

docker push 192.168.10.10:5000/nginx:latest

docker push 192.168.10.10:5000/centos:latest

image


6.最后登錄192.168.10.10離線私有確認鏡像情況

本地私有倉庫設置的地址:

ls    /opt/data/registry/docker/registry/v2/repositories/


image


7.到客戶機刪除鏡像后測試從私有倉庫那里拉去鏡像

docker images

刪除客戶機所有鏡像
docker rmi $(docker images -q)

#去私有倉庫拉取鏡像

docker pull 192.168.10.10:5000/centos:latest

docker pull 192.168.10.10:5000/nginx:latest

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM