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

posted @ 2020-09-10 11:44  彭荣俭  阅读(3531)  评论(0编辑  收藏  举报