欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker篇3-Docker共有仓库和本地私有仓库的构建

程序员文章站 2024-03-12 22:47:02
...

docker公共仓库的使用

如果使用公有仓库首先使用命令docker login登录docker,如果没有账号需要先在官网注册,注册地址https://hub.docker.com/
注册后再使用docker login登录 按照提示输入username和pawword即可

> docker login

使用docker tag 对原始镜像打一个特殊标签 格式

docker tag 原始镜像 用户名/新镜像名:新tag名

例如

docker tag redis:latest li1209/limingredis:latest

然后使用docker push命令推送镜像

> `docker push li1209/limingredis`

等待一会就推送成功了,推送成功后在个人主页上能就能看到该镜像了,当然你也可以设置为私有。

docker本地私有仓库的构建

假设镜像服务器的ip为192.168.8.113
首先在镜像服务器113上执行如下指令获取registry镜像并创建一个容器

> docker run -d -p 5000:5000 --restart=always --name registry registry

仓库默认创建在容器的/var/lib/registry

在客户端上使用docker tag 对镜像进行标签标记 除了113的另一台
例如:

> docker tag redis:latest 192.168.8.113:5000/redis:latest

然后使用docker push 上传

> docker push 192.168.8.113:5000/redis:latest

此时会报类似Get https://192.168.8.113:5000/v2/: http: server gave HTTP response to HTTPS client的错误
因为默认情况下镜像服务器体用http服务而不是https,而客户端在push镜像的时候默认使用的https因此可以编辑客户端的相关配置进行修改
vi /etc/docker/daemon.json
如果之前该json文件为空则直接输入

{
"insecure-registries":["192.168.8.113:5000"]
}

如果已经有次json文件并且有其他内容则加入"insecure-registries":[“192.168.8.113:5000”]即可
重启docker服务
systemctl restart docker
再次上传即可

可以通过curl 192.168.8.113:5000/v2/_catalog查看上传的镜像
从私有仓库获取镜像
docker pull 192.168.8.113:5000/redis
文章来源于php个人博客链接地址:https://www.cliyun.club/contentsDo?id=156