本地镜像发布到阿里云

  • Post author:
  • Post category:其他


本地镜像发布到阿里云流程



一.本地镜像发布到公有仓库步骤

1.登录阿里云控制台(我之前手机号注册的,登录选主账号登录-手机号登录)

https://home.console.aliyun.com/home/dashboard/ProductAndService

2.打开镜像容器服务,打开之前创建的个人实例

打开个人实例

3.打开‘命名空间’—‘创建命名空间’,并设置仓库类型为”公开“。

命名空间相当于Java包名

设置为公开

4.打开”镜像仓库“–”选择刚创建的命名空间“—”创建镜像仓库“

在这里插入图片描述

公开

选择本地仓库

5.创建完仓库后会自动生成一堆命令,按要求操作就行。复制黏贴,修改一下。

命令

注意:

在这里插入图片描述



二.本地镜像发布到私有库流程

DockerHub, 阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队用,基于公司内部项目构建镜像。Docker Registry这是官方提供的工具,可用于构建私有镜像仓库。

1.下载镜像Docker Registry
2.运行私有库Registry,相当于本地有个私有Docker Hub
3.案例演示创建一个新镜像,ubuntu安装ifconfig命令
4.curl验证私服库上有什么镜像  #这时是空的,没有镜像
5将新镜像修myubuntu:1.1.0修改符合私服规范的Tag -----> 公式:docker tag 镜像:Tag Host:Port/Repository:Tag
6.修改配置文件使之支持http
7.push推送到私服库
8.curl验证私服库上有什么镜像  #这时应该能看到推送上去的镜像
9.pull到本地并成功运行

docker pull registry
docker run -d -p 5000:5000 -v /xman/myregistry/:/tmp/registry --privileged=true registry #默认情况下,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调,xman是用户名

docker run -it ubuntu /bin/bash
apt-get update 
apt-get install -y ifconfig
按ctrl+q+p退出,获得正在运行的unbuntu的容器id进行commit命令
docker commit -m='add ifconfig' -a='xman' 容器id myubuntu:1.1.0

curl -XGET http://172.17.0.1:5000/v2/_catalog  #查看私有仓库有哪些镜像,这个ip是你宿主机的ip(localhost),用ifconfig查看,后面的写死,(其实这里的ip写错了,写的是docker0的ip,也能跑通,貌似是因为桥接的是宿主机的网络。用localhost也能跑通= =)

按照公式修改符合私服规范: docker tag 镜像:Tag Host:Port/Repository:Tag  ----> tag是写死的,Tag是版本号
docker tag myubuntu:1.1.0 172.17.0.1:5000/myubuntu:1.1.0 #将新镜像myubuntu:1.1.0修改符合私服规范的Tag

#修改docke配置文件使之支持http,修改后建议重启docker,systemctl restart docker ,重启后要重新启动registry私服
cat etc/docker/daemon.json #先查看,没有的话直接下面vim创建
vim etc/docker/daemon.json
添加"insecure-registries":["1.2 172.17.0.1:5000"']进去配置文件

systemctl restart docker
systemctl status docker  #查看docker是否正常运行起来
docker run -d -p 5000:5000 -v /xman/myregistry/:/tmp/registry --privileged=true registry #重启docker后要重新启动registry私服容器

#docker images罗列出刚修改过的规范镜像,复制名字,记得加上版本号
docker push 172.17.0.1:5000/myubuntu:1.1.0    #1.1.0是自己手动加的版本号,‘172.17.0.1:5000’是docker images得到的步骤5的规范镜像

#上步推送完成了,检测私服仓库有哪些镜像
curl -XGET http://172.17.0.1:5000/v2/_catalog  #这时能看到你的镜像了

docker pull 172.17.0.1:5000/myubuntu:1.1.0  #这个版本貌似一定要的 ,如果忘记版本号就拉不下,怎么获取版本号呢??求解。。。网上别人没有版本号也能pull,我不行,要加版本号,,,

查看私服有哪些镜像

推送成功后的镜像仓库

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

推送规范

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

修改配置文件使之支持http

开始push镜像到私服,

注意加版本号


开始push



版权声明:本文为qq_23579405原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。