Docker本地仓库搭建

1. 下载仓库镜像
从中央仓库拉取最新的 registry 仓库。

docker pull registry
1
2. 创建仓库文件夹
mkdir -pv /opt/docker/registry
1
3. 启动仓库
端口映射为:5000
本地文件映射为:/opt/docker/registry

docker run -d -p 5000:5000 --restart=always -v /opt/docker/registry:/var/lib/registry  registry
1
4. 查看仓库启动
docker ps
1
可看到输出如下:

docker ps                                                                                                                                        
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
a7b23b6e8633        registry            "/entrypoint.sh /e..."   8 minutes ago       Up 6 minutes        0.0.0.0:5000->5000/tcp   distracted_jang
1
2
3
访问地址:

ip为本地仓库ip地址。

curl http://192.168.234.97:5000/v2/_catalog
1
5.测试
使用hello-world镜像进行测试,创建本地 tag

docker tag hello-world 192.168.234.97:5000/hello
1
推送到本地仓库

docker push 192.168.234.97:5000/hello
1
再次查看:

curl http://192.168.234.97:5000/v2/_catalog
1
输出显示,有新增的仓库。

{"repositories":["hello"]}
1
6. 问题解决
推送到本地仓库

docker push 192.168.234.97:5000/hello
1
报错

The push refers to a repository [192.168.234.97:5000/hello]
Get https://192.168.234.97:5000/v1/_ping: http: server gave HTTP response to HTTPS client
1
2
原因分析:

客户端http不能访问

解决方案,创建配置文件,修改配置。用到这个仓库的机器都要执行这个操作:

6.1 创建配置文件
创建配置文件

touch /etc/docker/daemon.json
1
写入配置:

echo '{ "insecure-registries":["192.168.234.97:5000"] }' >  /etc/docker/daemon.json
1
重新启动docker

systemctl restart docker
1
再次尝试推送到本地仓库,可以成功

docker push 192.168.234.97:5000/hello
1
成功输出如下:

The push refers to a repository [192.168.234.97:5000/hello]
428c97da766c: Pushed                                                                                                           
latest: digest: sha256:7d6fb7e5e7a74a4309cc436f6d11c29a96cbf27a4a8cb45a50cb0a326dc32fe8 size: 524
1
2
3
查看镜像tag

http://192.168.234.97:5000/v2/hello/tags/list 
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值