应用配置中的容器设置用于改变镜像的启动方式和环境。编辑需要 Operator 或 Admin;修改这些设置会影响后续运行的容器。
启动命令
留空时使用镜像默认启动方式。自定义时需要填写完整的可执行程序及参数,例如:
nginx -g 'daemon off;'命令会按引号和空格解析为参数,不会自动交给 shell 执行。管道、重定向、&& 和环境变量替换只有在你显式启动 shell 时才具有 shell 含义。
确实需要 shell 时,可以填写:
sh -c 'printf "%s\n" "$GREETING"; exec nginx -g "daemon off;"'镜像必须包含 sh 及所调用程序。exec 让最后的服务进程接替 shell,有利于正确接收停止信号。改变入口还可能跳过镜像自带的初始化逻辑,优先遵循镜像作者的启动说明。
环境变量
- 打开应用配置中的环境变量设置。
- 逐项添加变量名和值,例如
GREETING=Hello或业务要求的数据库地址。 - 检查重复项、空值及拼写,再保存应用配置。
- 在新容器日志或应用输出中验证参数已生效。
变量名长度为 1–128,不能包含 =;值最多 4096 个字符。这里填写的是值本身,不需要额外包一层 shell 引号。$OTHER 不会因为写在变量值中就自动替换成另一个变量。
同分组数据库可以使用应用名称作为主机名。容器内的 localhost 指向该容器自身,不能用它代替另一个数据库应用的地址,参见应用间通信。
配置内容的可见性
环境变量属于共享应用配置。平台只对明确识别的秘密字段脱敏,不会自动把每个看起来像密码的业务变量变为个人秘密。应依据实际账户权限决定哪些内容适合存放在这里。
较大的配置文件使用 XConfig;持续写入的业务数据使用数据卷。
启动失败怎么检查
| 现象 | 常见原因 |
|---|---|
| 找不到程序 | 可执行路径错误,或镜像根本不包含该程序 |
| 引号解析失败 | 单双引号不配对,shell 表达式未显式使用 shell |
| 服务启动后立即退出 | 程序转入后台、缺少必需变量或初始化失败 |
| 数据库无法连接 | 使用了错误主机名、容器端口或认证信息 |
| 保存后仍像旧配置 | 新副本尚未替换完成,或 Guardian 未推广候选配置 |
应用的自动重启延迟可在重启策略设置中调整,默认 60 秒。重启不能修复持续存在的错误命令;应先修正配置,再看应用日志。