目录
- 前言
- 一、本地镜像发布到阿里云
- 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 流程图
1.2 注册阿里云创建容器服务个人实例
阿里云容器服务
登录阿里云—>搜索容器镜像服务—>创建个人实例–>进入个人实例
1.3 创建命名空间
- 创建明明空间
- 点击创建后会提示输入Registry密码,要记住!
1.4 创建镜像仓库
- 创建镜像仓库
- 填写创建镜像仓库信息
- 选择本地仓库
- 仓库详细信息
1.5 将镜像推送到阿里云本地仓库
下面的命令都可以在创建的仓库信息中 《3.将镜像推送到Registry》中找到
-
登录(连接到阿里云仓库)
-
提交(类似于git的commit)
-
推送(类似于git的push)
二、从阿里云仓库拉去自己推送的镜像
下面的命令都可以在创建的仓库信息中 《2.从Registry中拉取镜像》中找到
三、本地镜像发布到阿里云总结
个人版只是让我们学习时候知道基本使用,决不能用于商业。过需求或者有¥可以购买企业版使用更多功能。
四、本地镜像发布到私有库
官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
Docker Registry是官方提供的工具,可以用于构建私有镜像仓库
4.1 流程图
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 tag
将zwcoderubuntu: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
再次查看私有库:
总结
可能在后面私有库内容里面命令都没有说明,将会在后面的容器数据卷中写到。