Docker

最近更新时间:2023-09-13 10:16:13

我的收藏
本文档介绍如何将 Docker 镜像存储在 CODING 制品库中,方便团队在项目进行统一的制品管理与版本控制。下文包含如何进行镜像制作、认证配置与制品推拉。
说明:
阅读该篇文档需要准备好以下内容:
安装 Docker
已创建项目和制品仓库,具体操作可参见 基础操作 指引中的创建项目、新建制品库。
制品仓库选择 Docker 类型。

制作镜像(可选阅读)

本章节提供两种方法快速创建一个 Demo Docker 镜像,若已熟悉 Docker 镜像制作可以跳过本节。

方法一:本地制作镜像

1. 在本地任意目录创建文件,名称为 Dockerfile,并写入以下内容:
FROM coding-public-docker.pkg.coding.net/public/docker/nodejs:12
2. 在所在目录中调出终端,运行命令构建镜像。
docker build -t hello-world .
镜像制作成功,tag 默认为 hello-world:latest。您可以按照《Docker——官方手册》自定义 tag 内容,格式为 <镜像名>:<版本>,本章节不再展开。




方法二:从 Docker Hub 拉取镜像

1. 在终端中直接执行命令拉取镜像。
docker pull hello-world
2. 执行命令,查看已拉取的镜像。
docker images

配置认证信息

当您已在本地完成制品编译后,就可以将制品推送至远端制品仓库。推送之前需在本地配置远端仓库的认证信息。

访问令牌

推荐使用访问令牌生成认证的配置信息。
1. 在仓库页面单击操作指引



2. 输入账号的登录密码或两步验证码后确认,复制生成的命令。



3. 在本地 Docker 环境中的命令行中粘贴生成后的命令并执行,即可完成认证。




推送镜像

说明:
希望自动化推送 Docker 镜像?请参见如何在持续集成中使用 制品库插件
以下命令行仅作示例,命令行会因项目差异而发生改变,请复制项目内制品仓库中直接生成的命令。
1. 上文拉取至本地的 hello-world 镜像打标签。
docker tag hello-world straybirds-docker.pkg.coding.net/coding-demo/coding-demo/hello-world
2. 推送您的 docker 镜像至制品仓库。
docker push straybirds-docker.pkg.coding.net/coding-demo/coding-demo/hello-world
成功推送后将看到如下内容。



上述操作命令,均会直接显示在操作指引中,可输入替换值后复制命令。




查看镜像

推送完毕后,左侧菜单处的项目概览会在项目内广播推送动态。



项目的制品列表中,可以看到推送的 hello-world 镜像。



单击镜像名,可以在右侧栏查看到该包的完整信息,内含概览、指引、属性、版本列表等信息。




拉取镜像

使用 docker pull 命令可以拉取在 CODING 制品库中托管的 Docker 镜像。指引页面会自动生成相对应的拉取命令。