更新时间:2024-10-11 GMT+08:00

通过Docker命令操作镜像

图形化构建

配置构建步骤中,添加“执行Docker命令”构建步骤,参考表1配置参数。

表1 执行Docker命令参数说明

参数

说明

步骤显示名称

构建步骤的名称,可自定义修改。

  • 支持中文、英文、数字、“-”“_”、英文逗号、英文分号、英文冒号、“.”“/”、圆括号(中英文)。
  • 字符长度范围为1~128。

工具版本

根据用户实际开发环境的需要,选择对应的工具版本。

CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境

命令

单击“添加”,新增一条命令行,请根据需要选择并配置命令。CodeArts Build支持的Docker命令可参考编译构建支持的Docker命令

可通过拖动命令调整命令执行顺序

代码化构建

参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。

1
2
3
4
5
6
7
version: 2.0 # 必须是2.0
steps:
  BUILD:
    - docker:
          inputs:
            command: |
              docker pull swr.xx-xxxxx-x.myxxcloud.com/codeci/dockerindocker:dockerindocker18.09-1.3.2
表2 代码示例参数说明

参数

类型

说明

command

string

执行命令,每个命令一行。支持的docker命令可参考编译构建支持的Docker命令

编译构建支持的Docker命令

  • docker login:登录docker仓库。

    用法:docker login [options] [server]

    options填写方法如下表,server为docker仓库地址。

    参数

    对应短名称

    说明

    --password

    -p

    登录仓库的用户密码。

    --username

    -u

    登录仓库的用户名。

    --password

    -stdin

    从标准输入获取用户密码。

    示例docker login -u jack -p 12345 mydocker-registry.com

    该示例表示使用jack用户远程登录地址为“mydocker-registry.com”的仓库,密码为“12345”

    高级用法

    从文件里获取密码:cat ~/my_password.txt | docker login --username jack --password-stdin

  • docker build:通过Dockerfile或者上下文制作镜像。上下文可以是构建执行所在的本地路径“Path”,也可以是远程URL,如Git库、tarball或文本文件等,还可以是“-”

    用法:docker build [options] Path | URL | -

    options填写方法如下表。Path/URL/-为上下文来源。

    参数

    对应短名称

    说明

    --file

    -f

    Dockerfile文件路径,默认为“./Dockerfile”

    --tag

    -t

    “镜像名:标签”格式。

    示例docker build -t mydocker-registry.com/org/alpine:1.0 -f ./Dockerfile .

    该示例表示使用当前目录且标签为“mydocker-registry.com/org/alpine:1.0”Dockerfile制作镜像

  • docker push:推送镜像到指定的地址。

    用法:docker push [options] name[:tag]

    示例docker push mydocker-registry.com/org/alpine:1.0

    该示例表示将“mydocker-registry.com/org/alpine”镜像的1.0版本推送到远程仓库。

  • docker pull:从镜像仓库下载镜像到本地。

    用法:docker pull [options] name[:tag|@digest]

    options填写方法如下表。

    参数

    对应短名称

    说明

    --all-tags

    -a

    下载镜像仓库所有标识tag的镜像。

    示例docker pull mydocker-registry.com/org/alpine:1.0

    该示例表示从远程仓库拉取版本号为1.0的mydocker-registry.com/org/alpine镜像。

  • docker tag:修改镜像的标签。

    用法:docker tag source_image[:tag] target_image[:tag]

    其中source_image[:tag]表示需要修改标签的镜像,target_image[:tag]表示目标镜像。

    示例docker tag mydocker-registry.com/org/alpine:1.0 mydocker-registry/neworg/alpine:2.0

    该示例表示,将“mydocker-registry.com/org/alpine”镜像的标签从“1.0”改为“2.0”

  • docker save:保存一个或者多个镜像到tar类型的文件,默认是标准输出流。

    用法:docker save [options] image [image ...]

    options填写方法如下表。

    参数

    对应短名称

    说明

    --output

    -o

    写文件,非使用标准输出。

    示例docker save -o alpine.tar mydocker-registry.com/org/alpine:1.0 mydocker-registry.com/org/alpine:2.0

    该示例表示将mydocker-registry.com/org/alpine:1.0镜像和mydocker-registry.com/org/alpine:2.0镜像打包到alpine.tar。

  • docker logout:从镜像仓库登出。

    用法:docker logout [server]

    示例docker logout mydocker-registry.com

    该示例表示登出地址为mydocker-registry.com的镜像仓。