Docker默认不允许非HTTPS方式推送镜像。我们可以通过Docker 的配置选项来取消这个限制,或者查看下一节配置能够通过HTTPS访问的私有仓库。在浏览器中通过https无法访问到资源,但是可以通过http可以访问。你不想使用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如192.168.199.100:5000这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。你需要去配置私有仓库。
准备一台机器作为私有仓库
stacke 10.108.xxx.xxx
仓库地址 /docker-registry
端口号:9876
下载仓库镜像
sudo docker pull registry
下载前先看下是否之前已经搭建过
运行镜像仓库
sudo docker run -d -p 9876:9876 --restart=always -v /docker-registry:/tmp/registry registry
仓库的上传
在推送之前需要先docker tag标记一下镜像,在镜像名中加入私有仓库的ip:port
私有仓库的ip一般使用127.0.0.1:5000,注意如果不使用127.0.0.1就需要进行配置使可以通过http访问资源
docker tag ubuntu:latest 10.108.xxx.xxx:9876/ubuntu:latest
推送
docker push 10.108.xxx.xxx:9876/ubuntu:latest
使用curl查看仓库中的镜像
curl 10.108.xxx.xxx:9876/v2/_catalog
从私有镜像上下载镜像
docker pull 10.108.xxx.xxx:9876/ubuntu:latest
ubuntu16.04系统中/etc/docker/daemon.json添加
{ "registry-mirror": [ "https://registry.docker-cn.com" ], "insecure-registries": [ "192.168.199.100:5000" ] }
作者:张晓天a
链接:https://www.jianshu.com/p/917125475320
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦