五、Docker镜像发布到阿里云/私有库

学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出)

目录

  • 前言
  • 一、本地镜像发布到阿里云
    • 1.1 流程图
    • 1.2 注册阿里云创建容器服务个人实例
    • 1.3 创建命名空间
    • 1.4 创建镜像仓库
    • 1.5 将镜像推送到阿里云本地仓库
  • 二、从阿里云仓库拉去自己推送的镜像
  • 三、本地镜像发布到阿里云总结
  • 四、本地镜像发布到私有库
    • 4.1 流程图
    • 4.2 下载镜像Docker Registry
    • 4.3 运行私有库Registry,相当于本地有个私有Docker hub
    • 4.4 commit我们自己的镜像
    • 4.5 查看私服
    • 4.6 将新镜像修改符合私服规范的Tag
    • 4.7 修改配置文件使之支持http
    • 4.8 推送镜像到私有库
  • 总结

前言

我们可以把自己的镜像文件存放到阿里云,也可以存到自己的私服。

一、本地镜像发布到阿里云

1.1 流程图

五、Docker镜像发布到阿里云/私有库_第1张图片

1.2 注册阿里云创建容器服务个人实例

阿里云容器服务
登录阿里云—>搜索容器镜像服务—>创建个人实例–>进入个人实例
在这里插入图片描述

在这里插入图片描述

1.3 创建命名空间

  1. 创建明明空间
    在这里插入图片描述
  2. 点击创建后会提示输入Registry密码,要记住!
    在这里插入图片描述

1.4 创建镜像仓库

  1. 创建镜像仓库
    在这里插入图片描述
  2. 填写创建镜像仓库信息
    在这里插入图片描述
  3. 选择本地仓库
    在这里插入图片描述
  4. 仓库详细信息
    在这里插入图片描述

1.5 将镜像推送到阿里云本地仓库

下面的命令都可以在创建的仓库信息中 《3.将镜像推送到Registry》中找到

  1. 登录(连接到阿里云仓库)
    在这里插入图片描述

  2. 提交(类似于git的commit)
    在这里插入图片描述

  3. 推送(类似于git的push)
    在这里插入图片描述


二、从阿里云仓库拉去自己推送的镜像

下面的命令都可以在创建的仓库信息中 《2.从Registry中拉取镜像》中找到


三、本地镜像发布到阿里云总结

  个人版只是让我们学习时候知道基本使用,决不能用于商业。过需求或者有¥可以购买企业版使用更多功能。

四、本地镜像发布到私有库

  官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
  Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
  Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

4.1 流程图

五、Docker镜像发布到阿里云/私有库_第2张图片

4.2 下载镜像Docker Registry

docker pull registry 

在这里插入图片描述

4.3 运行私有库Registry,相当于本地有个私有Docker hub

这里先照着写,会用。命令可能会显得比较复杂,《六、Docker容器数据卷》中会写具体内容。

docker run -d -p 5000:5000  -v /zwcoder/myregistry/:/tmp/registry --privileged=true registry

  默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调。
在这里插入图片描述

4.4 commit我们自己的镜像

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]	#在容器外执行!
docker commit -m="vim cmd add" -a="zwcoder" a69d7c825c4f zzyyubuntu:1.2

在这里插入图片描述
在这里插入图片描述

4.5 查看私服

默认情况下,新创建的私服是空的。

curl -XGET http://192.168.174.128:5000/v2/_catalog

在这里插入图片描述

4.6 将新镜像修改符合私服规范的Tag

  这个新镜像就是刚刚运行的容器实例对应的镜像复制了一份。

docker tag 镜像:Tag Host:Port/Repository:Tag

  使用命令docker tagzwcoderubuntu:1.0这个镜像修改为192.168.174.128:5000/zwcoerubuntu:1.0用自己的ip!!!

docker tag zwcoderubuntu:1.2 192.168.174.128:5000/zwcoderubuntu:1.2

在这里插入图片描述
  接下来就要将新的镜像推送到私有库了,但是docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。先进行修改配置文件/etc/docker/daemon.jdon

4.7 修改配置文件使之支持http

vim /etc/docker/daemon.json 添加:"insecure-registries": ["192.168.174.128:5000"],保存退出。

{
  "registry-mirrors": ["https://qzqjduzw.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.174.128:5000"]
}

  重启docker(新版本说不用重启就能生效,但是推荐还是重启一下),重新运行docker registry
docker run -d -p 5000:5000 -v /zwcoder/myregistry/:/tmp/registry --privileged=true registry
在这里插入图片描述

4.8 推送镜像到私有库

docker push 192.168.174.128:5000/zwcoderubuntu:1.0

在这里插入图片描述
在这里插入图片描述
再次查看私有库:
在这里插入图片描述

总结

  可能在后面私有库内容里面命令都没有说明,将会在后面的容器数据卷中写到。

你可能感兴趣的:(Docker学习系列,docker,阿里云,容器)