『现学现忘』Docker基础 — 41、将本地镜像推送到阿里云
1、准备工作
(1)创建阿里云平台账号
阿里云官网地址:https://www.aliyun.com/
淘宝、支付宝账号可复用,这里不做过多说明了。
(2)找到容器镜服务界面
在阿里云官网主页,产品 —> 容器与中间件 —> 容器镜像服务ACR —> 管理控制台。
如下图所示:
进入到阿里云容器镜像服务界面如下:
我们之前说过镜像加速器,今天我们来说说阿里云容器镜像仓库。
2、阿里云容器镜像仓库的使用
(1)创建命名空间
点击左侧边栏的命名空间,再点击右上角创建命名空间,然后在弹出的对话对话框中,输入自定义命名空间的名称。
注意:一个账号最多可以创建3个命名空间。
创建好的命名空间如下:
(2)创建容器镜像
点击左侧边栏的镜像仓库,再点击创建镜像仓库。
在弹出的界面中输入镜像仓库的信息如下:
说明:
- 地域:自己选择一个就好。
- 命名空间:选择自己设置的,没有可以点击进行设置。
- 仓库名称:自定义即可。
- 仓库类型:私有只自己可访问,公有其他人也可以访问。(私有即可)
- 摘要:就是对该仓库的一个简要说明。
点击下一步,然后选择本地仓库,最后点击创建镜像仓库。
之后就可以看到我们创建的阿里云镜像仓库了。
重点说一下(重点,重点)
我理解阿里云镜像仓库,存放镜像的目录如下:公网地址/命名空间/仓库:版本号
。
所以我的理解:
命名空间
:是用来存放镜像的目录。- 而镜像仓库就相当于镜像名,一个镜像仓库仓库只存储一个镜像,和这个镜像的不同版本。
即:以后在阿里云镜像仓库创建镜像命名的时候,建议以软件包名或应用名作为仓库名称。
(3)查看阿里云镜像仓库的信息
点击仓库名称位置或者后边的管理,就能够看到我们刚刚创建的阿里云镜像仓库的详细信息。
如下:
说明:公网地址就是,可以通过该地址访问到这个仓库。
下面是对阿里云镜像仓库的操作指南:
- 登录阿里云
Docker Registry
。
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。$ sudo docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com
您可以在访问凭证页面修改凭证密码。 - 从
Registry
中拉取镜像。$ sudo docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
- 将镜像推送到
Registry
。
请根据实际镜像信息替换示例中的$ sudo docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com $ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号] $ sudo docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
[ImageId]
和[镜像版本号]
参数。 - 选择合适的镜像仓库地址。
从ECS
推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC
网络,请使用registry-vpc.cn-beijing.aliyuncs.com
作为Registry
的域名登录。 - 示例
使用docker tag
命令重命名镜像,并将它通过专有网络地址推送至Registry。
使用$ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB $ sudo docker tag 37bb9c63c8b2 registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816
docker push
命令将该镜像推送至远程。$ sudo docker push registry-vpc.cn-beijing.aliyuncs.com/acs/agent:0.7-dfb6816
3、将本地Docker镜像推送到阿里云
我们就按照上面操作文档的第三步进行操作,将本地Docker镜像推送到阿里云镜像仓库。
(1)登陆阿里云
# 输入第一行命令
[root@192 ~]# docker login --username=aliyuelin registry.cn-beijing.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
(2)给镜像生成版本号
命令:sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
说明:
[ImageId]
:输入你本地将要上传镜像的Image Id。[镜像版本号]
:Docker镜像的TAG(自定义)。
示例:
# 查看本地Docker镜像
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat9 latest 12988584a30e 16 hours ago 607MB
centos latest 300e315adb2f 3 months ago 209MB
给上传镜像生成一个版本号。
(3)推送本地镜像到阿里云镜像仓库
执行命令:$ sudo docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
示例:
[root@192 ~]# docker push registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
The push refers to repository [registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9]
b4ef62e90bac: Pushed
5da8b73f85d7: Pushed
68a0171f3cc4: Pushed
76f4ae6e5125: Pushed
2653d992f4ef: Pushed
1.8: digest: sha256:4752b493708372b50f4169eee3df449caef050fc18e604849f584e49d554bbab size: 1373
[root@192 ~]#
可以看到,向阿里云镜像仓库推送镜像的时候,也是按照镜像的层级来进行推送的。
4、在阿里云中查看本地推送的镜像
在阿里云官网主页,产品 —> 容器与中间件 —> 容器镜像服务ACR —> 管理控制台。
然后镜像仓库列表中,点击wukong_tomcat9
镜像仓库,然后点击左侧边栏的镜像版本,查看镜像信息。
如下:
5、从阿里云镜像库拉取镜像到本地
按照上面操作文档的第二步进行操作。
执行命令:sudo docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:[镜像版本号]
示例:
# 查看本地Docker镜像
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 300e315adb2f 3 months ago 209MB
# 从阿里云镜像库拉取镜像
[root@192 ~]# docker pull registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
1.8: Pulling from wukong6688/wukong_tomcat9
7a0437f04f83: Already exists
ebca8570a55c: Already exists
52613dee4841: Already exists
f20d670a00b6: Already exists
1d6b94f6dacc: Already exists
Digest: sha256:4752b493708372b50f4169eee3df449caef050fc18e604849f584e49d554bbab
Status: Downloaded newer image for registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9:1.8
# 再次查看本地Docker镜像
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-beijing.aliyuncs.com/wukong6688/wukong_tomcat9 1.8 12988584a30e 21 hours ago 607MB
centos latest 300e315adb2f 3 months ago 209MB