【无标题】

docker安装私有仓库registry(离线)

离线本地仓库 192.168.55.240

有网客户机 192.168.153.129

一、现在正常网络下,使用docker pull拉取镜像

1.拉取镜像

docker pull registry

2.使用docker images查看已拉取的镜像id

docker images

3.将镜像保存为本地文件

docker save -o registry.docker 镜像id  #会在当前目录下生成registry.docker的文件,将其copy传到离线机器

二、开始在离线机器192.168.55.240安装本地registry(私有仓库)

1.将下载打包后的镜像拷贝到要安装私有仓库的服务器运行

docker load -i ./registry.docker  #加载镜像

2.如果docker images查看刚才加载的镜像名为空,如,可以用以下命令修改

#docker tag 镜像id 镜像名:版本郝
docker tag  2d4f4b5309b1  registry:latest

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

vim /etc/docker/daemon.json
#添加y以下内容
{
"insecure-registries": ["192.168.55.240:5000"]
}

4.重启docker

systemctl restart docker

5.创建仓库存放仓库地址,并启动registry私有仓库

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

三、离线客户机192.168.55.240测试上传、拉拉取镜像

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

2.将下载打包后的镜像拷贝到要离线测试机后加载

docker load -i ./nginx.docker
docker load -i ./centos.docker

3.如果镜像名称为空,可以使用以下命令修改

#docker tag imageID 镜像名:版本号
docker tag  4bb46517cac3   nginx:latest
docker tag  0d120b6ccaa8   centos:latest

4.镜像打标签并命名

注意:客户端打标签命名很严格,不然等下传不上去,下载不了,必须带上私有仓库地址

# docker tag       源镜像名字:版本       私有仓库地址/镜像名字:版本
docker tag nginx:latest  192.168.55.240:5000/nginx:latest
docker tag centos:latest  192.168.55.240:5000/centos:latest
#重启docker
systemctl restart docker

5.上传镜像到离线私有仓库192.168.55.240

docker push 192.168.55.240:5000/nginx:latest

docker push 192.168.55.240:5000/centos:latest

6.最后登录192.168.55.240离线私有确认镜像情况

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

7.到客户机删除镜像后测试从私有仓库那里拉去镜像

删除客户机192.168.55.240:5000/nginx和192.168.55.240:5000/centos镜像

docker rmi 镜像id
或
docker rmi 镜像名:tag

去私有仓库拉取镜像

docker pull 192.168.55.240:5000/centos:latest

docker pull 192.168.55.240:5000/nginx:latest

以上内容参考docker 安装私有仓库 registry(离线) - 彭荣俭 - 博客园 (cnblogs.com)

=======================================================

由于公司要要从前端页面上传.tar文件到240机器上,需要设置docker远程访问。

Docker守护进程(dockerd)本身正在监听TCP端口2375。这通常用于Docker Engine API的远程访问,允许客户端通过HTTP连接到Docker守护进程。

想要开启远程访问,就需要修改下面这个配置文件,/usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock

注意:两个-H

加载配置文件,重启docker

docker daemon-reload
systemctl restart docker

sudo netstat -tulpn | grep :2375  
tcp6       0      0 :::2375                 :::*                    LISTEN      3450149/dockerd


docker -H <虚拟机IP>:2375 ps  #远程测试连接

仓库地址是http://192.168.55.240:5000

本页面中的仓库服务地址远程访问Docker守护进程(dockerd)本身正在监听TCP端口2375:tcp://192.168.55.240:2375

如果(http://192.168.55.240:5000/v2/)不可访问,可能是private_registry容器没启动

参考Docker如何开启远程访问,实现api远程管理?其实只需要改一个地方即可_怎么开启远程api接口-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值