
# 通过客户端上传/下载Docker组件
CodeArts Artifact支持与本地Docker客户端对接，用户A可以通过客户端的方式将本地客户端中的Docker私有组件上传至CodeArts Artifact私有依赖库，其他用户再通过客户端的方式从CodeArts Artifact私有依赖库下载用户A上传的Docker组件，实现Docker组件的共享或传递。
#### Docker组件介绍
Docker组件指的是通过Docker构建和发布的容器镜像。Docker镜像包含了运行应用程序所需的所有依赖项和配置，从而确保了应用在不同环境中的可移植性和一致性。
#### 约束与限制
不同用户账号的私有依赖库仓库密码不同，当用户以不同账号访问私有依赖库时，如果需要使用仓库密码，则需要在各仓库"操作指导"中重新下载配置文件获取仓库密码。
#### 前提条件
- 已安装Docker客户端。
- 已[创建Docker仓库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0008.html)。
- 需要具备当前仓库的"下载/查看"权限，如需获取"下载/查看"的权限，请参考[配置私有依赖库权限](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0047.html)配置。
 
#### 通过客户端上传Docker组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的Docker仓库，在页面右上角单击"操作指导"。
3. 在"操作指导"对话框，单击"下载配置文件"，下载配置文件"config.json"。
4. 获取已下载的配置文件中的**{username}** 、**{password}** 。
   
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513699512.png "点击放大")
   
   
5. 在本地客户端执行以下命令，登录Docker私有依赖库。 
   ```
   docker login {url} -u ${username} -p ${password}
   ```
   命令中的参数说明如下：
   - url：仓库地址。
   
   - username：即[4]中获取的**{username}**。
   
   - password：即[4]中获取的**{password}**。
   
   
   
   
6. 执行如下命令，加载Docker本地镜像包。 
   ```
   docker load -i registry.k8s.io_pause.tar
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545299391.png "点击放大")
   
   
7. 执行如下命令，查询Docker本地镜像包的名称和版本号。
   
   ```
   docker images
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545219401.png "点击放大")
   
   
8. 在本地客户端执行以下命令，打包镜像。
   
   ```
   docker tag ${image_name1}:${image_version1} {url}/${image_name2}:${image_version2}
   ```
   命令中的参数说明如下：
   - image_name1：Docker本地镜像名称，即[7]中获取的Docker本地镜像包名称。
   
   - image_version1：Docker本地镜像版本号，即[7]中获取的Docker本地镜像包版本号。
   
   - url：仓库地址。如下图所示。 ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513859436.png "点击放大")
     
     
   
   - image_name2：用户可以设置上传后的镜像名称，组件名称将显示在Docker私有依赖库组件列表中。
   
   - image_version2：用户可以设置上传后的镜像版本。
   
   
   
   
9. 在本地客户端执行以下命令，上传Docker组件至私有依赖库。 
   ```
   docker push {url}/${image_name}:${image_version}
   ```
   命令中的参数说明如下：
   - url：仓库地址。如下图所示。 ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002545299393.png "点击放大")
     
     
   
   - image_name：输入[8]中的"image_name2"。
   
   - image_version：输入[8]中的"image_version2"。
   
   
   
   
10. 在Docker私有依赖库中查看已上传的组件。
 
#### 通过客户端下载Docker组件
1. 使用华为云账号[访问CodeArts Artifact的私有依赖库](https://support.huaweicloud.com/usermanual-cloudartifact/cloudartifact_01_0007.html#cloudartifact_01_0007__section1789618380209)。
2. 在私有依赖库页面选择对应的Docker仓库。
3. 单击页面右侧"操作指导"。
4. 在"操作指导"对话框，单击"下载配置文件"，下载配置文件"config.json"。
5. 获取已下载的配置文件中的**{username}** 、**{password}**。
6. 在本地客户端执行以下命令，登录Docker私有依赖库。 
   ```
   docker login {url} -u ${username} -p ${password}
   ```
   命令中的参数说明如下：
   - url：仓库地址。
   
   - username：[4]中获取的**{username}**。
   
   - password：[4]中获取的**{password}**。
   
   
   
   
7. 在本地客户端执行以下命令，下载Docker组件。 
   ```
   docker pull {url}/${image_name}:${image_version}
   ```
   url：仓库地址。如下图所示。
   ![](https://support.huaweicloud.com/usermanual-cloudartifact/zh-cn_image_0000002513700640.png "点击放大")
   - image_name：组件名称。
   
   - image_version：组件版本。
   
   
   
   
 
