docker篇3-Docker共有仓库和本地私有仓库的构建
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
上一篇: 提交一个自己的镜像
下一篇: Java字符流与字节流区别与用法分析