Abu*_*had 6 linux makefile docker docker-compose
在我的 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
Run Code Online (Sandbox Code Playgroud)
我的 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
Run Code Online (Sandbox Code Playgroud)
和PING_IMAGE_NAME设置PING_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
Run Code Online (Sandbox Code Playgroud)
这ping是id我的容器名称。
也许问题是每次我升级 docker-compose 时。
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |