优雅的搭建私有Docker Registry仓库

本文详细记录了如何优雅地搭建私有Docker Registry仓库,包括前提条件、命令参数解析以及遇到的网络问题和解决办法。通过后台运行、端口映射和挂载卷,成功部署官方镜像,并介绍了将本地镜像推送到私有仓库的步骤及遇到的代理问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

网上找了几篇讲Docker Registry仓库的文章,不是啰啰嗦嗦就是坑太多,没有一个优雅简单的,于是我去官网自己看,做下搭建Registry仓库的总结

首先前提条件是:

1.机器上装有docker,版本最好不要太老

2.网络通畅 (踩过linux网络的坑的同学应该知道我是什么意思)

正片开始了,attention!

docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  -v /mnt/registry:/var/lib/registry \
  registry:2

解释一下各个参数,懂的可以跳过了

-d 后台运行

-p 启动端口与本机端口的映射,支持的格式有 ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort

-- restart 重启策略,always 懂得都懂,只要异常退出了就给你重启,除非你手动给他退了

-v 挂载文件到docker 具体请看 dockder volumes 

  registry:2 官方镜像名与版本

这样就搭建完成了,还看啥?

噢,下面是推送本地镜像到私有registry 的操作

先打个tag,才能推送

docker tag ascend_mindspore:1.0.0 10.123.218.169:5000/ascend_mindspore:1.0.0

然后推送

docker push 10.123.218.169:5000/ascend_mindspore:1.0.0

 

巧了,报了个错

Get https://10.123.218.169:5000/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

 

咋解决呢,不知道

踩了一堆坑,然后发现是代理的问题。。这里就不展开介绍了

这个想从局域网访问的话,还需要在docker客户端侧加个配置,参考 https://docs.docker.com/registry/insecure/#deploy-a-plain-http-registry

也就是 编辑 /etc/docker/daemon.json文件,在里面加
 

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

然后就可以了 。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值