docker安装个人镜像仓库

Docker Registry工具也是个docker镜像,它的功能就是用于创建私服版本个人企业版的docker hub

  • 上传我们下载好的 registry_1.0.0.tar 到服务器上,开始安装registry(可以连接外网的话,可以直接docker pull registry)

执行docker load -i registry_1.0.0.tar,镜像tar包导入docker镜像

  • 执行docker images -a,可以看到镜像已存在

  

  • 通过上一步我们已经具有了Registry镜像了,这里需要run该镜像,构建一个本地私有服务器容器

执行:docker run -d -p 5000:5000 -v /opt/data/registry/:/tmp/registry --privileged=true registry

上面指令中参数的具体含义:

(1)-d:设置Reigistry容器后台运行模式;

(2)-p:网络端口映射,指定容器端口绑定到主机相应主机端口;默认情况下Docker开放了5000端口(Python Flask端口)映射到主机端口32769上,这里的-p 5000:5000是将Docker内部默认端口映射到主机端口5000上,第一个5000是主机端口;第二5000是容器端口。

(3)-v:添加数据卷,格式为:-v /宿主机目录:/容器内目录。需要注意的是,指令执行后会自动创建文件夹。执行完上面指令后,在本地的//opt/data/registry/目录下创建了数据卷

然后可以看到在registry容器中的/tmp文件夹下就有了一个registry文件夹,至此说明运行私有库Registry成功。

(4)--privileged=true:Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied的解决办法。

(5)registry:docker registry镜像。

  • 修改配置/etc/docker/daemon.json,实现docker push xx镜像到个人镜像仓库

修改配置文件使docker支持http,由于docker的私服库作了安全加固,通常是不支持http的推送,所以这里需要配置取消该限制。

第一步:执行 vi /etc/docker/daemon.json

{

  "insecure-registries": ["0.0.0.0:5000"]

}

第二步:systemctl daemon-reload & systemctl restart docker.service

第三步:docker start 镜像仓库id(重启docker服务之后,需要重新start容器)

此时私服镜像应该就好了

可以测试一下:curl -XGET http://172.32.155.41:5000/v2/_catalog。

第四步:将新镜像修改为符合私服规范的Tag

规则:docker tag 镜像ID或镜像名:Tag Host:Port/Repository:Tag

先打tag:docker tag registry 172.32.155.41:5000/registry:1.0.0

然后就可以push到私仓:docker push 172.32.155.41:5000/registry:1.0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_lishengming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值