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

如何在docker-compose up命令行传递command参数,避免硬编码到yml文件?

动态传递Docker Compose的command参数

原始配置文件

version: "3.8"

services:
  server:
    image: node:lts-slim
    container_name: example-container
    hostname: example-server
    ports:
      - 4000:4000
    working_dir: /server
    volumes:
      - ./someLocalDirectory:/server
    command: node --watch index.js

问题描述

通过docker-compose up -d server启动容器时,希望避免将command: node --watch index.js硬编码在配置文件中,能否通过命令行参数传递该command值?

解决方案

可以通过环境变量的方式实现动态传递:

1. 修改docker-compose.yml配置

将硬编码的command替换为变量引用:

version: "3.8"

services:
  server:
    image: node:lts-slim
    container_name: example-container
    hostname: example-server
    ports:
      - 4000:4000
    working_dir: /server
    volumes:
      - ./someLocalDirectory:/server
    command: ${RUN_COMMAND}

2. 命令行启动时传递参数

在启动命令前设置环境变量,再执行docker-compose up:

RUN_COMMAND="node --watch index.js" docker-compose up -d server

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 21:10:26