6

CentOS7でjenkins-serverを起動するためのものを含むdocker-compose.ymlがあります:

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"

環境変数を含めることはまだできませんか? 私は最も正しい解決策を探しています。ありがとう

4

1 に答える 1

6

$(...)は環境変数ではなく、コマンド置換です。

値を渡すには、環境変数を使用する必要があります。

DOCKER_PATH=$(which docker) docker-compose up

docker-compose.yaml (スニペット)

- ${DOCKER_PATH}:/usr/bin/docker:ro
于 2016-01-13T00:36:53.880 に答える