创建工作负载时,通常通过镜像来指定实例中容器所运行的进程。在默认的情况下,镜像会运行默认的命令,如果您需要运行一个特定的命令或重写镜像的默认值,您需要使用到以下三个设置:
WorkingDir 即指定当前的工作目录。如果不存在,则自动创建。如果没有指定,则使用容器运行时的默认值。如果镜像中如果没指定 WORKDIR,且在控制台未指定,则 workingDir 默认为 “/”。
如何将 docker run 命令适配到腾讯云容器服务,请参见 docker run 参数适配。
Docker 的镜像拥有存储镜像信息的相关元数据,如果不提供运行命令和参数,容器将会运行镜像制作时提供的默认的命令和参数。Docker 原生定义的字段为 “Entrypoint” 和 “CMD”。详情可查看 Docker 的 Entrypoint 说明 和 CMD 说明。
如果您在创建服务时,填写了容器的运行命令和参数,容器服务将会覆盖镜像构建时的默认命令(即 “Entrypoint” 和 “CMD”)。其规则如下:
镜像 Entrypoint | 镜像 CMD | 容器的运行命令 | 容器的运行参数 | 最终执行 |
---|---|---|---|---|
[ls] | [/home] | 未设置 | 未设置 | [ls / home] |
[ls] | [/home] | [cd] | 未设置 | [cd] |
[ls] | [/home] | 未设置 | [/data] | [ls / data] |
[ls] | [/home] | [cd] | [/data] | [cd / data] |
注意:
- Docker entrypoint 对应容器服务控制台上的运行命令,Docker run 的 CMD 参数对应容器服务控制台上的运行参数。当有多个运行参数时,需在容器服务的运行参数中输入参数,且每个参数单独一行。
- 通过 容器服务控制台 设置容器运行命令和参数的示例请参考 Command 和 Args。
本页内容是否解决了您的问题?