容器镜像服务使用教程

滴滴云技术支持发表于:2018年12月25日 15:08:11更新于:2019年02月12日 09:39:15

容器镜像服务使用说明

用户可使用滴滴云账户和仓库账户,分别登录滴滴云控制台和Docker客户端,来使用滴滴云容器镜像服务。

1.用户在滴滴云控制台-容器镜像服务中可对命名空间和仓库进行操作:

个人账户/团队账户管理员默认对命名空间和仓库拥有管理权限,可以创建命名空间和仓库;

团队账户非管理员默认对命名空间和仓库拥有只读权限,只能查看命名空间和仓库,如需管理权限则需要找团队账户管理员进行授权。

2.用户在Docker客户端,可对仓库进行登录(login)、上传(push)、拉取(pull)等相关操作。权限与操作的关联见后文“仓库管理”。

若您已了解滴滴云容器镜像服务控制台的相关操作,并已设置仓库账户,可直接参考 容器镜像服务快速开始 ,在Docker客户端对仓库进行相关操作。


仓库账户

设置仓库账户

第一次使用容器镜像服务时,需通过“我的仓库”页面的“设置仓库账户”按钮,来设置在Docker客户端登录时使用的用户名和密码,设置后不可更改用户名。也可先创建仓库再设置账户。

0015c3d6d791e249f26414e670c8a79

0015c3d8e82907bacbef6af666912ae

0015c3d74428e2ae04de00e9b85be0d

重置仓库密码

设置仓库账户后,如忘记密码,不可找回,但可以通过“我的仓库”页面的“重置仓库密码”按钮进行密码重置。

0015c3d85b43a6aebab9590423112a90015c3d85b390c5c2afccaf2f45071b

0015c3d85b3ed66c50726ca8ee4b4da


创建命名空间

进入滴滴云控制台,依次点击计算—>容器镜像服务—>命名空间—>创建命名空间。命名空间名称在滴滴云容器镜像服务中全局唯一,用于生成仓库地址的前缀。命名空间也可以在第一次创建仓库时创建。(如果是滴滴云的团队账户,只有团队的管理员才能创建命名空间)

0015c3d75a3cb694e962867bebf31ea

0015c3d75a38f82caf1f56dfa9f984d

0015c3d75fb12a72d2cd9cc9930de70


创建仓库

用户可以通过两种方式来创建仓库:

1.进入滴滴云控制台,依次点击计算—>容器镜像服务—>仓库—>创建仓库。创建仓库时需要输入命名空间(如果之前没有创建过命名空间)和仓库名称。(如果是滴滴云的团队账户,只有团队的管理员才能创建仓库)

2.通过docker客户端使用docker push的方式来创建仓库。使用该方式需要同时具备以下条件:

   1)已通过控制台设置过仓库账户

   2)已通过控制台创建过命名空间

   3)如果是滴滴云团队账户,需具备管理员权限


0015c3d77a6957051ee652cffafe385

0015c3d77a626b43a92c5fba9cdb44a

0015c3d82ed3cc90dad45c536b43c00


上传、拉取镜像

在Docker客户端登录

在Docker客户端登录时的用户名和密码,是您在容器镜像服务控制台通过“设置仓库账户”按钮设置的用户名和密码。用户名一旦设置不可修改,密码可通过容器镜像服务控制台的“重置仓库密码”按钮进行重置。

登录成功后,客户端会保存登录信息,下次登录该账户,无需输入密码即可自动登录。如需切换账户,必须重新按以下命令进行登录。

sudo docker login --username=<仓库用户名> hub.didiyun.com
password:<仓库密码>


上传镜像

通过滴滴控制台创建的仓库只是一个名字,创建完成后,需要使用Docker命令行上传(push)镜像。

1.在Docker客户端登录

sudo docker login --username=<仓库用户名> hub.didiyun.com

2.拉取一个公共镜像,这里用nginx用作示例

sudo docker pull docker-hub.didiyun.com/library/nginx


3.将公共镜像修改为私有镜像的名称:

sudo docker tag [镜像名称:Tag]或[镜像ID] hub.didiyun.com/[命名空间]/[仓库名称]:[版本号(Tag)]

# 示例
sudo docker tag docker-hub.didiyun.com/library/nginx hub.didiyun.com/didiyun-ns/repo:latest


4.推送标记好的本地镜像到镜像仓库

sudo docker push hub.didiyun.com/[命名空间]/[仓库名称]:[版本号(Tag)]

# 示例
sudo docker push hub.didiyun.com/didiyun-ns/repo:latest


5.在上述操作完成后即可在滴滴云控制台,点击“我的仓库”中的对应的仓库 —>仓库详情 —>镜像版本,查看上传镜像的版本信息。

0015c3d8d17db841a37183e8dff303e

0015c3d8d1b91c9661b0f057d55c877



拉取镜像

如果需要拉取的是公共镜像,则无需登录。如果需要拉取的是自己的私有镜像,则需先登录。

sudo docker pull hub.didiyun.com/[namespace]/[Image]:[版本号(Tag)]

根据实际镜像 ID 信息填写[版本号(Tag)],再拉取镜像。

示例:

sudo docker pull hub.didiyun.com/didiyun-ns/repo:latest



镜像扫描

在上传完镜像版本之后,在仓库的镜像版本列表中,点击“立即扫描”或者“重新扫描”即可对该版本镜像进行安全扫描。扫描完成后会展示镜像扫描的软件包和漏洞信息,可以通过点击“查看详情”查看详细扫描信息。

通过设置自动扫描可以在镜像被push完成后自动的对镜像进行扫描。

具体操作:容器镜像服务—>设置—>安全 打开自动镜像安全扫描选项。

0015c3d8df13a09523d2c0d3734b220

0015c3d8df253e787f5b501ae444c42


0015c3d93a14acf8b884fad850ce61f


仓库管理

容器镜像服务—>仓库—>我的仓库页面可以看到当前所有的仓库列表,仓库的管理包括了仓库的删除、镜像版本删除、仓库的权限管理。

删除仓库

仓库列表会对该仓库的管理权限展示删除选项,点击即可对该仓库进行删除。删除仓库时该仓库下的所有镜像版本也会一起删除。操作需谨慎。

0015c3d8f9026e3ac36a35015f8a9b1

0015c3d8ff02f1edc819558235471a5

删除镜像版本

依次点击仓库列表的详情—>镜像版本即可看到该仓库的所有版本信息。点击某一个版本的删除选项即可对该版本进行删除。

0015c3d8f9fd70b5ca87b045d089c2c

0015c3d9012833dba5c8aa0066bcc6b

仓库权限管理

仓库权限说明:仓库的权限管理只对滴滴云的团队账户进行开放。(个人账户默认为仓库管理权限。)

1.滴滴云团队账户管理员创建仓库后默认为该仓库的管理权限(创建者),其他成员默认为该仓库的只读权限。

仓库创建者可以通过权限管理把团队的其他成员从只读权限更改为管理或者读写权限。(其他成员被更改为管理权限后,可以更改该仓库下所有成员的权限。仓库创建者始终不能更改自己的权限。)

2.只读权限只允许从仓库中拉取(pull)镜像;

管理权限允许进行删除仓库和镜像的删除、上传(push)、拉取(pull)、安全扫描操作;

读写权限允许进行镜像的上传(push)和拉取(pull)、安全扫描操作。

仓库权限设置:依次点击仓库列表的详情—>权限即可看到该仓库下用户的权限。在勾选用户后点击管理、读写、只读可以修改用户在该仓库下面的权限。

0015c3d932e81cca987513354452090


公共镜像

通过滴滴云的容器镜像服务可以获取Docker Hub的公共镜像信息,使用 docker-hub.didiyun.com 域名拉取Docker Hub的镜像能提高拉取的速度。可进入镜像详情页直接复制拉取命令进行拉取。

0015c3d93b10d4f8f95f2fed662be65

0015c3d943f2afb0fd8be49ad1522dc