设置容器启动命令 操作场景 创建工作负载或任务时,通常通过镜像指定容器中运行的进程。 在默认情况下,镜像会运行默认命令,如果想运行特定命令或重写镜像默认值,需要用到以下设置: 工作目录:指定运行命令的工作目录。 若镜像中未指定工作目录,且在界面中也未指定,默认是“/”。 运行命令:控制镜像运行的实际命令。 运行参数:传递给运行命令的参数。 说明: 容器启动后,容器中的内容不应修改。如果修改配置项(例如将容器应用的密码、证书、环境变量配置到容器中),当容器重启(例如节点异常重新调度pod)后,会导致配置丢失,业务异常。 配置信息应通过入参等方式导入容器中,以免重启后配置丢失。 容器如何执行命令和参数 Docker的镜像拥有存储镜像信息的相关元数据,如果不设置生命周期命令和参数,容器运行时会运行镜像制作时提供的默认的命令和参数,Docker原生定义这两个字段为“Entrypoint”和"CMD"。 如果在创建工作负载时填写了容器的运行命令和参数,将会覆盖镜像构建时的默认命令"Entrypoint"、"CMD",规则如下: 容器执行命令和参数 镜像 Entrypoint 镜像CMD 容器运行命令 容器运行参数 最终执行 [touch] [/root/test] 未设置 未设置 [touch /root/test] [touch] [/root/test] [mkdir] 未设置 [mkdir] [touch] [/root/test] 未设置 [/opt/test] [touch /opt/test] [touch] [/root/test] [mkdir] [/opt/test] [mkdir /opt/test] 设置启动命令 步骤 1 登录CCE控制台,在创建工作负载或任务时,展开“生命周期”。 步骤 2 在启动命令后,输入运行命令和运行参数,如下表。 容器启动命令 命令方式 操作步骤 运行命令 输入可执行的命令,例如“/run/server”。 若运行命令有多个,多个命令之间用空格进行分隔。若命令本身带空格,则需要加引号("")。 说明 多命令时,运行命令建议用/bin/sh或其他的shell,其他全部命令作为参数来传入。 运行参数 输入控制容器运行命令参数,例如port8080。 若参数有多个,多个参数以换行分隔。 说明: 当前启动命令以字符串数组形式提供,对应于Docker的Entrypoint启动命令,格式为: ["executable", "param1", "param2",..]。Kubernetes的容器启动命令可参见[这里](