ECI实例通过容器镜像中的预设参数来启动容器。如果您在构建镜像时没有设置启动命令和参数,或者想要变更启动命令和参数,可以在创建ECI实例时设置。通过设置容器启动命令和参数,可以定义容器的启动行为和初始化过程,保证容器能够正确运行并提供所需服务。本文介绍如何为容器设置启动命令和参数。
功能说明
如果您想覆盖镜像中设置的启动默认值,包括工作目录、启动命令和参数,可以通过以下参数进行配置:
工作目录
镜像构建时,通过WORKDIR可以指定容器的工作目录, 容器启动时执行的命令会在该目录下执行。更多信息,请参见WORKDIR。
创建ECI实例时,通过配置ECI实例中容器的工作目录( WorkingDir),可以覆盖WORKDIR。
说明如果镜像里未指定WORKDIR,且创建ECI实例也未配置工作目录,则工作目录默认为根目录。
如果指定的工作目录不存在,系统将自动创建。
启动命令和参数
镜像构建时,通过ENTRYPOINT和CMD可以指定启动容器后要执行的命令和参数。更多信息,请参见ENTRYPOINT和CMD。
创建ECI实例时,通过配置ECI实例中容器的启动命令(Command)和参数(Arg),可以覆盖ENTRYPOINT和CMD。具体生效规则如下:
重要启动命令必须为容器镜像支持的命令,否则会导致容器启动失败。
镜像ENTRYPOINT
镜像CMD
容器Command
容器Arg
最终执行
说明
mkdir
/data/backup
未设置
未设置
mkdir /data/backup
容器没有设置Command和Arg,则执行镜像ENTRYPOINT和CMD。
mkdir
/data/backup
cd
未设置
cd
容器设置了Command,未设置Arg,则只执行容器Command,忽略镜像ENTRYPOINT和CMD。
mkdir
/data/backup
未设置
/opt/backup
mkdir /opt/backup
容器设置了Arg,未设置Command,则执行镜像ENTRYPOINT和容器Arg。
mkdir
data/backup
cd
/opt/backup
cd /opt/backup
容器同时设置了Command和Arg,则执行容器Command和Arg。
配置说明
OpenAPI
调用CreateContainerGroup接口创建ECI实例时,您可以通过容器中的WorkingDir、Command和Arg参数来设置工作目录、启动命令和参数。相关参数说明如下表所示。更多信息,请参见CreateContainerGroup。
名称 | 类型 | 示例值 | 描述 |
Container.N.WorkingDir | string | /usr/local/ | 容器工作目录。 |
Container.N.Command.N | array | sleep | 容器启动命令。最多20个。 |
Container.N.Arg.N | array | 100 | 容器启动命令对应的参数。最多10个。 |
控制台
通过弹性容器实例售卖页创建ECI实例时,您可以在容器配置中设置各个容器的启动命令和参数。