You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在docker-compose的command配置段中使用定义的build arg参数

问题原因

build.args 定义的参数仅在镜像构建阶段生效,你写的 command 是容器启动后的运行阶段逻辑,默认无法读取构建阶段的参数值。

正确实现方式

有两种常用方案可选:

方案1:Dockerfile中转(推荐)

在你的Dockerfile中新增两行声明,把构建参数转成容器内可访问的环境变量:

# 放在Dockerfile的合适位置,尽量靠前
ARG environment
ENV APP_ENV=$environment
# 其余原有Dockerfile内容保持不变

修改docker-compose的command字段直接引用该环境变量即可:

command: >
  bash -c "python3 Main.py -env $APP_ENV"

方案2:docker-compose中直接透传

如果不想修改Dockerfile,可以在服务配置中直接把构建参数赋值给运行时环境变量:

version: '3.3'
services:
  app:
    container_name: my_script
    image: my_script
    build:
      context: .
      dockerfile: Dockerfile
      args:
        - http_proxy=$HTTP_PROXY
        - https_proxy=$HTTPS_PROXY
        - environment
    # 新增运行时环境变量配置,把构建参数值透传过来
    environment:
      - APP_ENV=${environment}
    volumes:
      - /home/me/PycharmProjects/myimportscript/logs:/app/logs
    command: >
      bash -c "python3 Main.py -env $APP_ENV"

内容的提问来源于stack exchange,提问作者Serge Zoghbi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:27:03