Docker11_1:Docker阿里云仓库
大致步骤如下:
1.登录阿里云
2.进入镜像服务
3.创建命名空间,目的是相互隔离,防止镜像冲突(最多可以创建3个镜像空间)
4.创建镜像仓库,可以绑定gitlab这种远程仓库(个人gitlab需要先创建access token),也可以选择不绑定直接使用本地仓库
4.创建容器镜像并推送
创建命名空间
1.创建GitLab的Access Token
- 登录GitLab。
- 在GitLab页面单击个人账号,然后单击Settings。
- 在User Settings页面左侧导航栏单击Access Tokens。
- 在Access Tokens页面设置名称和过期时间,选中api,然后单击Create personal access token。
- 创建完成后,您可以在Access Tokens页面查看创建的Access Token。
2.绑定GitLab代码平台
- 登录容器镜像服务控制台。
- 在顶部菜单栏,选择所需地域。
- 在左侧导航栏,选择实例列表。
- 在实例列表页面选择个人或企业版实例。
- 在实例管理页面选择仓库管理 > 代码源。
- 在代码源页面单击GitLab操作列的绑定账号。
在对话框中设置参数,然后单击确定。
地域:输入GitLab的登录地址。
如果您用的是私有GitLab,请输入私有GitLab登录地址。
如果您用的是公有有GitLab,请输入公有GitLab登录地址。
用户名称:输入登录GitLab的账号名。
私有Token:输入步骤1创建的Access Token。 - 在代码源页面GitLab操作列显示已绑定,说明绑定成功。
3.创建命名空间
创建命名空间,目的是相互隔离,防止镜像冲突(最多可以创建3个镜像空间
4.创建镜像仓库并绑定命名空间
选择对应的命名空间
5.仓库类型选择:远程仓库 or 本地仓库
选择远程仓库
我用的是gitlab,选择gitlab中的项目目录即可
选择本地仓库
如果不需要上传到远端代码仓库,可以直接选择本地仓库
6.上传镜像到仓库
① 登录阿里云Docker Registry
$ docker login --username=134****2398 registry.cn-shanghai.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
运行输出
[root@VM-0-3-centos pdx_haokai]# docker login --username=账号名 registry.cn-shanghai.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
[root@VM-0-3-centos pdx_haokai]#
② 从Registry中拉取镜像
$ docker pull registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker:[镜像版本号]
③ 将镜像推送到Registry
$ docker login --username=134****2398 registry.cn-shanghai.aliyuncs.com
$ docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker:[镜像版本号]
$ docker push registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
④ 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-shanghai.aliyuncs.com 作为Registry的域名登录。
⑤ 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816
使用 “docker push” 命令将该镜像推送至远程。
# 公网地址/命名空间/仓库名:版本号
$ docker push registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816
运行输出:
[root@VM-0-3-centos pdx_haokai]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mytomcat9.0.39 0.1 40f4d929ef01 33 hours ago 694MB
mycentos 0.2 62d31e32190c 3 days ago 326MB
mycentos 0.1 b0d4ce749f91 3 days ago 326MB
centos latest 5d0da3dc9764 4 months ago 231MB
[root@VM-0-3-centos pdx_haokai]# docker tag 40f4d929ef01 registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker:0.1
[root@VM-0-3-centos pdx_haokai]# docker push registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker:0.1
The push refers to repository [registry.cn-shanghai.aliyuncs.com/pdx_haokai/pdx_haokai_docker]
daf7d08f8054: Pushed
b65de4656d90: Pushed
f02cc88a77bd: Pushed
b45b2dd7e16c: Pushed
55c88a9681d5: Pushed
a7f629b4c603: Pushed
74ddd0ec08fa: Pushed
0.1: digest: sha256:01ea714d28e9c32f42eb40399c21fb346f1f4f60178833541c6a867b44c9b6c8 size: 1792
[root@VM-0-3-centos pdx_haokai]#