为工作负载定义命令和参数
为 IBM Cloud® Code Engine 工作负载创建容器映像时,可以定义命令和参数以供作业或应用程序在运行时使用。
容器映像包含两部分元数据,用于告诉容器运行时在创建容器时要运行的映像中有什么命令。 这些元数据字段称为 Entrypoint 和 Command。 对于熟悉 Dockerfile 的用户,这些字段等同于 ENTRYPOINT 和 CMD 命令。 这两个字段包含组合在一起以创建运行容器时使用的命令行的字符串数组。
例如,如果容器映像的 Entrypoint 值为 /myapp,Command 值为 --debug,那么运行的完整命令为 /myapp --debug (由两个字符串组成的数组)。 请注意,由于此操作是两个数组的并置,因此如果 Entrypoint 是空数组,那么 Command 数组的第一个数组元素是在容器中运行的可执行文件。
创建 Code Engine 应用程序或作业时,可以为 Entrypoint 和 Command 数组提供值。
| 描述 | 图像 | Code Engine 名称 |
|---|---|---|
| 由容器运行的命令。 | ENTRYPOINT |
command |
| 传递到该命令的自变量。 | Command |
args |
- 如果使用
--command,那么将覆盖任何映像Entrypoint值,并忽略任何映像Command值。 - 如果使用
--argument,那么将覆盖任何映像Command值。
要更好地了解此过程,请查看以下示例,
图像 Entrypoint |
图像 Command |
Code Engine command |
Code Engine args |
运行的命令 |
|---|---|---|---|---|
/myapp |
--debug |
<not set> |
<not set> |
/myapp --debug |
/myapp |
--debug |
/myapp2 |
<not set> |
/myapp2 |
/myapp |
--debug |
<not set> |
-d |
/myapp -d |
/myapp |
--debug |
/myapp2 |
-d |
/myapp2 -d |
您可以使用 CLI 中针对应用程序和作业的 --command 和 --argument 选项以及控制台中针对作业的 Command 和 Arguments 条目框来指定这些值。 有关更多信息,请参阅 使用命令和参数部署应用程序 和 使用命令和参数运行作业。