gpt4 book ai didi

linux - 将变量从 makefile 传递到 docker compose 文件?

转载 作者:行者123 更新时间:2023-12-05 05:53:50 24 4
gpt4 key购买 nike

在我的 docker-compose 文件中,有超过 3 个服务。我正在使用 makefile 从 docker 命令传递两个变量。但我遇到了一个问题 - 在执行第一个命令后,类似的第二个命令没有执行。

请参阅此示例以更好地理解-

docker-compose 文件是 -

    version: '3.7'

services:
ping:
container_name: ping_svc
image: "${PING_IMAGE_NAME}${PING_IMAGE_TAG}"
ports:
- 8080:8080
command: serve
environment:
- CONSUL_URL=consul_dev:8500
- CONSUL_PATH=ping
tty: true

id:
container_name: id_svc
image: "${ID_IMAGE_NAME}${ID_IMAGE_TAG}"
ports:
- 8081:8081
command: serve
environment:
- CONSUL_URL=consul_dev:8500
- CONSUL_PATH=id
tty: true

我的 makefile 命令是-

    # setting ping_image
@PING_IMAGE_NAME="ping-svc:" PING_IMAGE_TAG="1.0" docker-compose up -d

# setting id_image
@ID_IMAGE_NAME="id-svc:" ID_IMAGE_TAG="1.0" docker-compose up -d

PING_IMAGE_NAMEPING_IMAGE_TAG 设置成功但下一行未执行。为什么?有没有更好的方法来做到这一点?

最佳答案

我通过将所有变量放在一行中解决了这个问题。

像这样-

    @ID_IMAGE_NAME="id-svc:" ID_IMAGE_TAG="1.0" \
PING_IMAGE_NAME="ping-svc:" PING_IMAGE_TAG="1.0" \
docker-compose up -d ping id

这里 pingid 是我的容器名称。

也许问题出在我每次升级 docker-compose 时。

关于linux - 将变量从 makefile 传递到 docker compose 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69820767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com