Docker>06 - 镜像的私有仓库
扯淡:
前面章节已经构建了自己的镜像,以及下拉镜像,我们在本机可以使用docker images 命令查看,但是在其他机器上就没有这个镜像了。解决这一问题,可以将镜像上传到官方Docker Hub 上,但公司中更多的是搭建自己的私有仓库来存放这些镜像,方便公司内所有的机器都可以拉取到。
springboot、springcloud、docker学习目录:【传送门】
Docker Hub 仓库使用:
1、登录官网:https://hub.docker.com/
2、注册登录Docker Hub 账号。
3、点击“Create Repository”创建仓库。
4、docker push 命令推送镜像。
以上是基本步骤,由于速度很慢,并没有测试。
搭建私有仓库:
1、下拉官方提供的 registry 2.0 镜像。
2、docker run 创建容器。
# 命令
docker run -di --name my-registry -p 4000:5000 -v /docker_registry_volume:/var/lib/registry registry:2
注意:-v 指定了本机的数据卷,防止容器移除镜像丢失。-p 主机端口:容器端口
访问地址:http://ip:4000/v2/_catalog
3、修改镜像的tag
这里我上传redis镜像,size 相对较小一点。
# 命令
docker tag docker.io/redis ip:4000/test/redis:1.0
4、docker push 上传,错误提示
4.1、原因:若使用127.0.0.1 就没有问题,当我们使用外部的ip地址推送,是需要https证书支持的。
4.2、两种方式解决:
-
修改 /etc/sysconfig/docker 使私有仓库的4000端口为非安全模式,即http模式。
-
修改 vi /etc/docker/daemon.json 让docker信任私有仓库地址。
{
"registry-mirrors": ["https://t6e5x1bv.mirror.aliyuncs.com"],
"insecure-registries":["私有仓库所在机器ip:端口"]
}
5、再次执行 docker push,成功上传。
结果:
6、私有仓库管理 API
接口地址:https://cloud.tencent.com/developer/article/1116799
7、从私有仓库下载镜像:
此处我使用虚拟机中的docker 拉取个人阿里云上的私有仓库镜像:
可以看到拉取到了私有仓库中的redis镜像。
总结:
1、为方便团队使用镜像,私有仓库在企业中非常重要。
2、私有仓库的安装使用 registry 2.0 版本,容器端口5000。版本较新。
3、要想使用私有仓库,需配置本机docker的私有仓库地址为信任地址。
4、私有仓库地址的信任配置是在需要使用私有仓库镜像的机器上配置,并不只是安装私有仓库的那台机器。
5、私有仓库的管理也非常重要,对照私有仓库 API 接口使用。
个人学习分享
更多 springboot、springcloud、docker 文章,关注微信公众号吧: