如何在 Docker Compose 中添加 $(...)
How to add $(...) in Docker Compose
我有一个 docker-compose.yml,其中包含在 CentOS7 上启动 jenkins-server 的内容:
jenkins:
image: jenkins
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $(which docker):/usr/bin/docker:ro
- /usr/lib64/libsystemd-journal.so.0:/usr/lib/x86_64-linux-gnu/libsystemd-journal.so.0
- /usr/lib64/libsystemd-id128.so.0:/usr/lib/x86_64-linux-gnu/libsystemd-id128.so.0
- /usr/lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02
- /usr/lib64/libgcrypt.so.11:/usr/lib/x86_64-linux-gnu/libgcrypt.so.11
- /usr/lib64/libdw.so.1:/usr/lib/x86_64-linux-gnu/libdw.so.1
ports:
- "8080:8080"
但我无法 运行 撰写,因为我一直在 $(which docker):/usr/bin/docker:ro
上收到错误消息。我该如何解决这个问题?
错误:ERROR: Invalid interpolation format for "volumes" option in service "jenkins": "$(which docker):/usr/bin/docker:ro"
还是不能包含环境变量?我正在寻找最合适的解决方案。谢谢
$(...)
不是环境变量,它是 command substituion.
需要使用环境变量传入值
DOCKER_PATH=$(which docker) docker-compose up
docker-compose.yaml(片段)
- ${DOCKER_PATH}:/usr/bin/docker:ro
我有一个 docker-compose.yml,其中包含在 CentOS7 上启动 jenkins-server 的内容:
jenkins:
image: jenkins
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- $(which docker):/usr/bin/docker:ro
- /usr/lib64/libsystemd-journal.so.0:/usr/lib/x86_64-linux-gnu/libsystemd-journal.so.0
- /usr/lib64/libsystemd-id128.so.0:/usr/lib/x86_64-linux-gnu/libsystemd-id128.so.0
- /usr/lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02
- /usr/lib64/libgcrypt.so.11:/usr/lib/x86_64-linux-gnu/libgcrypt.so.11
- /usr/lib64/libdw.so.1:/usr/lib/x86_64-linux-gnu/libdw.so.1
ports:
- "8080:8080"
但我无法 运行 撰写,因为我一直在 $(which docker):/usr/bin/docker:ro
上收到错误消息。我该如何解决这个问题?
错误:ERROR: Invalid interpolation format for "volumes" option in service "jenkins": "$(which docker):/usr/bin/docker:ro"
还是不能包含环境变量?我正在寻找最合适的解决方案。谢谢
$(...)
不是环境变量,它是 command substituion.
需要使用环境变量传入值
DOCKER_PATH=$(which docker) docker-compose up
docker-compose.yaml(片段)
- ${DOCKER_PATH}:/usr/bin/docker:ro