Docker Registry搭建私有镜像仓库的实现方法

时间:2021-05-02

微服务的镜像会上传到docker仓库保存,常用的公网docker仓库有阿里云,网易云等,在企业局域网也可以搭建自己的docker私有仓库,本教程使用docker提供的私有仓库registry。

1.拉取私有仓库镜像

? 1 docker pull registry

2.创建启动私有仓库容器

? 1 docker run -dit -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry registry

参数说明

  • -dit:在容器中打开一个伪终端进行交互操作,并在后台运行
  • -v:把宿主机的/data/registry目录挂载到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化
  • -p:映射端口,访问宿主机的5000端口就访问到registry容器的服务了
  • --restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器
  • --name docker-registry:创建容器命名为docker-registry,你可以随便命名
  • registry:pull下来的镜像

上边显示 registry镜像已经创建,并且docker-registry容器已经启动成功。访问:http://139.9.40.41:5000/v2/_catalog,响应结果如下:

? 1 {"repositories":[]}

上边的响应结果说明在docker私有仓库中还没有镜像。

默认docker-registry只允许https提交镜像,如下配置使docker-registry支持http,在/etc/docker下,创建daemon.json文件,写入:

? 1 2 3 { "insecure-registries": [ "139.9.40.41:5000"] }

3.重启docker

? 1 systemctl restart docker

4.镜像上传至私有仓库

标记此镜像为私有仓库的镜像

? 1 docker tag docker.io/hello-world 139.9.40.41:5000/hello-world:v1

上传标记的镜像

? 1 docker push 139.9.40.41:5000/hello-world:v1

列出所有镜像

? 1 2 [root@2 docker]# curl http://139.9.40.41:5000/v2/_catalog {"repositories":["hello-world"]}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000020703596

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章