如何在Docker Compose中添加$(…):$(…)
我需要在docker-compose中运行以下命令:
- '/var/run/docker.sock:/var/run/docker.sock' - '$(which docker):$(which docker)'
我find了这样一种格式的解决scheme:
- ${DOCKER_PATH}:/usr/bin/docker:ro
但在我的情况下,我需要运行这种格式$(..):$(..),
是否有任何简单的解决scheme,从docker解决问题?
我试过这个:
DOCKER_PATH=$(which docker) docker-compose up volumes: - '/var/run/docker.sock:/var/run/docker.sock' - ${DOCKER_PATH}:/usr/bin/docker:ro
但是我得到错误:
ERROR: Invalid bind mount spec "59f5e4fa06257c16a046ae7e5163401349f1c0bb394c881bcdf557a2f544811c:$(which:rw": Invalid volume destination path: '$(which' mount path must be absolute.
以下不起作用
DOCKER_PATH=$(which docker) docker-compose up volumes: - '/var/run/docker.sock:/var/run/docker.sock' - ${DOCKER_PATH}:/usr/bin/docker:ro
因为variablesreplace需要在双引号 (单引号不会工作),像这样
- "${DOCKER_PATH}:/usr/bin/docker:ro"
你可以在这里阅读更多关于它的信息: https : //docs.docker.com/compose/compose-file/#variable-substitution