更新时间:2026-01-08 GMT+08:00

在Docker中配置和使用Cloud CLI

在Docker中配置和使用Cloud CLI,请遵循如下步骤(以创建Linux系统ubuntu发行版的Docker容器为例):

在按步骤执行之前,请确保您已经安装Docker。有关安装说明,请参阅 Docker 网站。可运行以下命令确认是否安装Docker:

docker --version

  1. 创建Dockerfile文件

    新建目录并在该目录下创建名为Dockerfile的纯文本文件,文件内容如下:

    FROM ubuntu:latest
    RUN apt-get update -y && apt-get install curl -y
    # 一键式安装Cloud CLI
    RUN curl -sSL https://{Endpoint}/cli/latest/cloud_install.sh -o ./cloud_install.sh && bash ./cloud_install.sh -y
    WORKDIR cloud

    Dockerfile文件名带有大写字母D,且没有文件扩展名,每个目录只能保存一个。

    可在上述Dockerfile文件中追加如下内容,指定启动容器时运行的程序为Cloud CLI:

    ENTRYPOINT ["/usr/local/bin/cloud"]

    其后,以该文件构建的docker镜像所启动的容器仅支持执行单条Cloud CLI命令,详情见后文所示。

  2. 构建镜像

    在此目录下运行以下命令来构建名为“cloudcli”的Docker镜像:

    docker build --no-cache -t cloudcli .

    命令末尾的“.”指在当前目录中构建Docker镜像,不可省略。

    镜像构建成功后使用以下命令查看构建的镜像:

    docker images

  3. 使用镜像

    • 用法一:基于“cloudcli”镜像创建后台运行容器,并在容器中执行命令。
      docker run -it -d --name cloudcli cloudcli

      运行如下命令查看已启动的Docker容器:

      docker ps

      运行如下命令进入Docker容器,进入到容器后Cloud CLI的使用方式与直接在宿主机上使用相同:

      docker exec -it cloudcli /bin/bash

      使用完成后,执行如下命令退出“cloudcli”容器:

      exit

      要完全停止“cloudcli”容器运行,可执行如下命令:

      docker stop cloudcli
    • 用法二:基于“cloudcli”镜像创建临时容器,并执行命令。
      1. 创建临时容器,并执行命令:
        docker run --rm -it cloudcli ${command}
        • 使用未追加“ENTRYPOINT ["/usr/local/bin/cloud"]”的Dockerfile创建的Docker镜像,在执行“docker run”命令时需指定运行的程序为“cloud”。例如,查询当前CLI版本:
          docker run --rm -it cloudcli cloud version
        • 使用追加了“ENTRYPOINT ["/usr/local/bin/cloud"]”的Dockerfile创建的Docker镜像,则不需要指定运行程序。此时“docker run --rm -it cloudcli”命令等效于在宿主机上直接执行“cloud”命令。
          docker run --rm -it cloudcli version

          使用追加了“ENTRYPOINT ["/usr/local/bin/cloud"]”的Dockerfile创建的Docker镜像,执行“docker run”时仅支持Cloud CLI相关命令。

      2. 创建临时容器,向容器共享宿主机文件(以Linux系统的宿主机为例),并执行命令:

        通过宿主机系统目录和容器目录的挂载,将宿主机文件共享到容器:

        示例1:通过将宿主机系统的/root/.cloud/目录挂载到容器的/root/.cloud/目录下,将宿主机配置文件共享到容器:

        docker run --rm -it -v /root/.cloud/:/root/.cloud/ cloudcli ${command}`

        以使用追加了“ENTRYPOINT ["/usr/local/bin/cloud"]”的Dockerfile创建的Docker镜像为例,查询已添加的配置项:

        docker run --rm -it -v /root/.cloud/:/root/.cloud/ cloudcli configure list

        示例2:通过将宿主机系统的目录/cli挂载到容器的当前目录下,将宿主机该目录下的文件共享到容器:

        docker run --rm -it -v /root/.cloud/:/root/.cloud/ -v /cli:$(pwd) cloudcli ${command}
      3. 创建临时容器,向容器共享宿主机环境变量(以Linux系统的宿主机为例),执行命令:

        通过“-e”标志共享宿主机的环境变量到容器中:

        docker run --rm -it -e ${envName} cloudcli ${command}

    给命令起别名(以Linux系统的宿主机为例),以简化命令。以使用追加了“ENTRYPOINT ["/usr/local/bin/cloud"]”的Dockerfile创建的Docker镜像为例,执行如下命令,给原命令起别名为“cloud”:

    alias cloud='docker run --rm -it cloudcli'

    后续可使用别名执行原命令。

  4. 更新镜像

    已构建的镜像,其中的Cloud CLI版本为镜像构建时的最新版本。若要保证镜像中使用最新版本,重新构建镜像即可。

  5. 卸载镜像

    执行如下命令卸载“cloudcli”镜像:

    docker rmi cloudcli