如何在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