Docker搭建本地仓库

本文档详述了如何在两台机器上分别搭建和使用本地Docker私有仓库,通过5000端口进行通信。首先,在10.7.32.27机器上拉取并启动registry镜像,配置daemon.json以信任私有仓库,并挂载本地目录保存镜像。然后,通过docker tag和push命令上传镜像。在10.41.85.41机器上同样配置daemon.json后,可以下载和上传镜像,实现快速部署。
摘要由CSDN通过智能技术生成

搭建一个本地私有docker容器仓库,本机或局域网内其他机器访问本地私有仓库,从而在大量部署的时候,可以非常快的拉取镜像

我们准备两台机器,一台作为仓库,ip为10.7.32.27,他可以往仓库里面放镜像,也可以拖镜像

另外一台ip为10.41.85.41,他也可以往仓库里面放镜像,也可以拖镜像。

在需要构建仓库的机器10.7.32.27,先拉取registry镜像

docker  pull  registry 
  • 启动registry镜像
docker run -d -p 5000:5000 --name=registry --restart=always --privileged=true  -v /usr/local/docker_registry:/var/lib/registry  registry:latest

 -p 5000:5000 端口
--name=registry 运行的容器名称
--restart=always 自动重启
--privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增加执行权限
-v /usr/local/docker_registry:/var/lib/registry 把主机的/usr/local/docker_registry 目录挂载到        registry容器的/var/lib/registry目录下,假如有删除容器操作,我们的镜像也不会被删除
registry:latest  需要运行镜像名称

  • 修改10.7.32.27的daemon.json

因为上传和下载都需要使用HTTPS协议,为了在上传下载时不报错,需要在配置文件中添加"insecure-registries":["10.7.32.27:5000"]参数,表示信任这个私有仓库,不进行安全证书检查(centos7为例)

{
   "registry-mirrors": ["https://rgiropog.mirror.aliyuncs.com"],
   "log-driver":"json-file",
   "log-opts":{ "max-size":"10m","max-file":"1"},
   "insecure-registries":["10.7.32.27:5000"]
}
  • 重启docker,配置生效
  • 上传镜像
#使用openjdk:8测试
#给镜像重新起标记
docker tag openjdk:8 10.7.32.27:5000/openjdk
#将镜像上传
docker push 10.7.32.27:5000/openjdk
  • 查看上传的镜像
curl http://10.7.32.27:5000/v2/_catalog 
  • 另一台10.41.85.41下载镜像
  • 首先需要配置daemon.json,和上面一样加入,然后重启docker
"insecure-registries":["10.7.32.27:5000"]

 下载镜像

docker pull 10.7.32.27:5000/openjdk

使用10.41.85.41上传镜像

docker tag test:0001 10.7.32.27:5000/test
docker push 10.7.32.27:5000/test

在/usr/local/docker_registry中可以看到上传的镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值