code monkey

导航

docker登陆私仓推送镜像

之前的文章已经带大家简单的认识了docker,以及如何通过dockerfile创作一个镜像,这篇将是帮助大家管理镜像以及推送镜像到私仓。

我们知道Docker hub官网提供了许许多多的基础镜像和网友制作好的成熟镜像可供使用,不过网上提供的镜像由于人人都能上传到官方存在一些不安全因素,以及你自己创建的镜像带有自己的服务或程序不利于放到公网上,那么可以通过自建一个私仓或者阿里云这样的平台去存放自己的私有镜像。

阿里云创建私仓:https://cr.console.aliyun.com/ 只要有阿里云帐号,就能开通一个私仓,网上有许多文章,不再叙述

也可以用harbor自建私仓: 参考Harbor仓库搭建及简单使用

docker 登陆私仓

当我们制作了大量镜像之后,都是放在的本地,为了便于管理以及其它机器使用一般咱们创建的镜像都放在私仓里面,所以我们需要让这台创建好了本地镜像的宿主机登录到私仓上去

   docker login http://192.168.1.14  --地址换你的私仓地址

输入帐号密码,第一次大概率报错,因为未配置安全凭证。
异常如下

Error response from daemon: Get https://192.168.1.14/v2/: dial tcp 192.168.1.14:443: connect: connection refused

推荐如下方式解决:

-- 编辑docker配置
vi /etc/docker/daemon.json

配置insecure-registries为你的私仓ip

{
"registry-mirrors": ["https://registry.docker-cn.com"],   --公网上的镜像仓库地址
"insecure-registries" : ["harbor域名地址:端口号"]     --你的私仓地址
}

重启docker

systemctl restart docker 

再试一次 docker login http://192.168.1.14 ,成功.
在这里插入图片描述

推送镜像

登陆成功后接下来我们就可以把本地的镜像推送到私仓上去了
先查看一下我们本地的镜像 docker images,可以看到我本地有个nginx:latest的这个镜像,这是上一篇文章制作的前端网站
在这里插入图片描述
现在我们给他再打一个标签,使用docker tag 本地镜像名:标签 [私仓ip/项目名/仓库名]:[标签]

docker tag nginx:latest 192.168.1.14/material-management/nginx:latest   

打完便可以推送了

docker push 192.168.1.14/material-management/nginx:latest

在这里插入图片描述
到这里,已经完成了镜像的制作与推送,并且其它机器只要也登陆到私仓的地址,便也可以从私仓中下载镜像创建容器运行了。

docker run --rm -p 80:80 192.168.1.14/material-management/nginx:latest

下一篇讲一下后端集成MAVEN插件完成镜像的制作和推送

posted on 2022-01-14 13:45  code monkey  阅读(162)  评论(0编辑  收藏  举报