欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker 镜像基本操作

程序员文章站 2022-06-01 20:38:59
...

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

原文链接:https://developer.aliyun.com/article/746631?spm=a2c6h.12873581.0.0.54c47e46mLfYep

一、背景信息

在使用容器镜像服务之前,需要先安装 Docker。关于如何安装 Docker,请参见:

CentOS帮助链接Ubuntu帮助链接Debian帮助链接Fedora帮助链接

二、docker login

以阿里云杭州公网 Registry 为例,说明如何登录 Docker。
1.指明 Registry 域名,并输入您的用户名和登录密码。登录成功之后会显示 Login Succeeded。

docker@default-online:~$ docker login registry.cn-hangzhou.aliyuncs.comUsername: sample@alibaba-inc.comPassword:Login Succeeded

说明 此处的登录密码是您在镜像仓库管理控制台 设置的,而不是您的阿里云登录密码。


2.通过查看 config.json 文件,确认您的登录信息。

docker@default-online:~$ cat ~/.docker/config.json
{    "auths": {        "registry.cn-hangzhou.aliyuncs.com": {            "auth": "XXXXXXXXXXXXXXXXXXXXXX"
       }
   }
}

三、docker pull

以容器服务的公共镜像 registry.cn-hangzhou.aliyuncs.com/acs/agent:0.8 为例,下载镜像的命令如下所示:

docker@default-online:~$ docker pull registry.cn-hangzhou.aliyuncs.com/acs/agent:0.80.8: Pulling from acs/agent5a026b6c4964: Already existse4b621e8d9cb: Already exists8bc2fd04bdd4: Pull completea977b0087b3e: Pull complete8f6e00ea13c6: Pull complete875dd8c9666f: Pull complete9c07bcabc35d: Pull completeDigest: sha256:cac848bd31bccf2a041bda7b57e3051341093abde6859df9ee9d332dfec6ddd9
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/acs/agent:0.8

说明:

如果您要下载 Docker 官方的镜像,参考下方相关链接中的加速器文档。如果您要下载公共仓库下的镜像,不登录 Registry 也是可以下载的。登录的 Registry 和您操作镜像的 Registry 必须保持一致。例如只登录 registry.cn-hangzhou.aliyuncs.com 的情况下,推送 registry.cn-beijing.aliyuncs.com 的镜像,客户端会出现未授权的错误信息。

您可以使用下边的命令查看已下载的镜像(注意仓库坐标和 Tag)。

docker@default-online:~$ docker images
REPOSITORY                                    TAG                 IMAGE ID            CREATED             SIZE
registry.cn-hangzhou.aliyuncs.com/acs/agent   0.8                 b9ba5841bdb0        24 hours ago        42.18 MB

四、docker push

镜像在本地环境构建或是打包好之后,就可以上传到 Registry。
上传的准备工作和下载基本一样。需要确认您有对这个仓库的读写权限或是读写授权。否则您会看到下面的报错信息。

docker@default-online:~$ docker push registry.cn-hangzhou.aliyuncs.com/acs/agent:0.8The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/acs/agent]359f80267111: Layer already exists7e5fa28d90b8: Layer already existsb20d7f600f63: Layer already exists4a159b4f8370: Layer already exists7c3712ebe877: Layer already existsd91d130a53aa: Layer already existsfcad8ad5a40f: Layer already existsunauthorized: authentication required

五、登录子账户

使用子账户登录容器镜像服务控制台,设置对应 Registry 的登录密码。使用[子账户名]@[企业别名]作为用户名进行登录。您可以在 RAM 控制台设置和查看主账户的企业别名。如果没有企业别名,企业别名默认为主账户的 UID。
假设子账户名为 subaccount,企业别名为 misaka-network,则登录示例如下:docker@default-online:~$ docker login registry.cn-hangzhou.aliyuncs.comUsername: subaccount@misaka-networkPassword:Login Succeeded