从 shell 脚本覆盖 docker compose

问题描述 投票:0回答:1

我有一个 docker compose 文件

    version: '3.3'
    services:
      test:
        volumes:
            - $WORKSPACE:$WORKSPACE
            - $HOME:$HOME
        environment:
            - HOME=$HOME
        working_dir: $WORKING_DIR
        image: $BUILD_IMAGE
        command: bash $WORKSPACE/somescript.sh

我有 shell 脚本,我想在其中覆盖这些值。

我的脚本-> test.sh

HOME=`pwd`
WORKSPACE=/tmp/
BUILD_IMAGE=someimage
docker stack deploy --compose-file  compose.yml test

如何覆盖该值。

docker docker-compose
1个回答
0
投票

您必须将要覆盖的变量放在同一个

docker
命令行上才能修改docker进程环境:

HOME=`pwd` WORKSPACE=/tmp/ BUILD_IMAGE=someimage docker stack deploy --compose-file compose.yml test

或者如果您愿意(每行一个,带反斜杠):

HOME=`pwd` \
WORKSPACE=/tmp/ \
BUILD_IMAGE=someimage \
docker stack deploy --compose-file compose.yml test
© www.soinside.com 2019 - 2024. All rights reserved.