2016-01-12 3 views
1

У меня есть Докер-compose.yml, который содержит материал, чтобы начать Дженкинс-сервер на CentOS7:

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" 

Но я не в состоянии запустите compose, потому что я продолжаю получать ошибку на $(which docker):/usr/bin/docker:ro. Как мне это исправить?

Ошибка: ERROR: Invalid interpolation format for "volumes" option in service "jenkins": "$(which docker):/usr/bin/docker:ro"

Это еще не представляется возможным включить переменные окружения? Я ищу наиболее подходящее решение. Спасибо

ответ

1

$(...) не является переменной окружения, это command substituion.

Вам необходимо использовать переменную окружения для передачи значения.

DOCKER_PATH=$(which docker) docker-compose up 

докер-compose.yaml (фрагмент)

- ${DOCKER_PATH}:/usr/bin/docker:ro 
+1

В качестве альтернативы, вы можете избежать знак $ с $$, смотрите здесь: https://docs.docker.com/compose/compose- файл/# переменной подстановки – batjko

Смежные вопросы