Docker搭建私仓,并且推送镜像全流程

导读:本篇文章讲解 Docker搭建私仓,并且推送镜像全流程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、问题出现

前段时间,上头派了一个小任务,那就是需要在某台作为开发环境的服务器A的Docker上搭建一个私仓,用来存放开发环境的镜像,之前都是将镜像存放在测试环境的服务器上的,现在需要把它们进行分开存放。

二、具体流程

主要的流程为以下几点:

1、在服务器A上搭建一个registry私仓

2、配置镜像源

3、推送镜像

4、服务器B拉取镜像

三、服务器A上搭建一个registry私仓

1、拉取registry镜像,默认拉取的是最新镜像,如果有指定版本,那么需要具体指定。

docker pull registry

2、确认镜像拉取成功,查看镜像是否存在。

docker images

3、创建registry容器。

docker run -d --name registry -p 5000:5000 -v /home/personal_registry:/var/lib/registry registry

4、端口映射到本地的5000,通过本地访问以下地址,查看能否访问成功。

http://自己的局域网ip:5000/v2/_catalog

此时,接口访问成功,内容为空,则说明当前registry搭建成功,但是没有还没有任何镜像存在。

四、配置镜像源

如果其他服务器需要拉取服务器A上registry上的镜像的话,那么需要配置其daemon.json文件,在文件中配置地址是为了让docker知道去哪里拉取或上传镜像,否则将会报类似如下错误:

Error response from daemon: Get https://../v1/_ping: http: server gave HTTP response

 具体解决方法如下:

打开etc/docker/daemon.json(具体看你docker安装在哪个位置,配置文件在何处),在insecure-registries位置配置上私仓的ip地址与端口。

 {
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "insecure-registries": ["127.0.0.1:5000","私仓ip:端口"],   //配置的端口,必须跟harbor服务的端口一致
    "log-opts": {
         "max-size": "10m"
    }
}

五、推送镜像

可以通过服务器A或其他服务器向服务器A上的registry推送镜像,以下作为一个例子,将服务器A中的registry推送到服务器A上的registry。

1、registry镜像重命名

docker tag  registry[:tag] 私仓ip:端口/registry[:tag]

重命名,给registry加上私仓的ip,是为了,推送镜像的时候能够让docker知道往何处推送镜像

2、推送镜像

docker push 私仓ip:端口/registry[:tag]

3、检查推送是否成功

通过以上步骤,如果没有出什么其他问题的话,镜像是推送成功的,可以通过访问以下地址查看是否有镜像信息,以此确认:

http://自己的局域网ip:5000/v2/_catalog

六、服务器B拉取镜像 

拉取前,别忘了配置daemon.json文件

1、从私仓拉取镜像

docker pull 私仓ip:端口/registry[:tag]

2、确认镜像是否拉取成功

docker images

 至此,从搭建私仓、推送镜像、拉取镜像已经完成。

七、参考地址

如何用docker registry搭建个人镜像库,详细步骤_abcnull的博客-CSDN博客_registryDocker搭建私仓,并且推送镜像全流程https://blog.csdn.net/abcnull/article/details/107900631?ops_request_misc=&request_id=&biz_id=102&utm_term=docker%E4%B8%8A%E5%A6%82%E4%BD%95%E6%90%AD%E5%BB%BAregistry&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107900631.142%5Ev5%5Epc_search_quality_down,143%5Ev6%5Eregister&spm=1018.2226.3001.4187

怎么修改docker镜像的名字_docker镜像如何重命名_UniDaily的博客-CSDN博客镜像重命名:docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)删除:docker rmi IMAGEID 或者 docker rmi REPOSITORY:TAG容器重命名:docker 原容器名 新容器名删除:docker rm CONTAINERID扩展命令:$ docker ps // 查看所有正在运行容器$ docker stop contain…Docker搭建私仓,并且推送镜像全流程https://blog.csdn.net/weixin_33961553/article/details/111955517

docker pull报错: Error response from daemon: Get https://../v1/_ping: http: server gave HTTP response_隔壁老瓦的博客-CSDN博客问题描述,安装好docker私有库之后,不管是从私有库pull还是push,都会报错:Error response from daemon: Get https://xxx.xxx.xxx.xxx:5000/v1/_ping: http: server gave HTTP response to HTTPS client原因是由于客户端采用https,docker registry未采用h…Docker搭建私仓,并且推送镜像全流程https://blog.csdn.net/wxb880114/article/details/85700773?ops_request_misc=&request_id=&biz_id=102&utm_term=Get%20https://10.175.94.103:5000&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-85700773.142%5Ev5%5Epc_search_quality_down,143%5Ev6%5Eregister&spm=1018.2226.3001.4187

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99688.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!