Развертывание стека докеров с помощью compose-файла приводит к неверной конфигурации монтирования для типа «связать»: исходный путь связывания не существует: - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь развернуть свои контейнеры и получаю эту ошибку (от docker stack ps testapp --no-trunc): invalid mount config for type "bind": bind source path does not exist: /home/john/valet/testapp. Я использую docker-compose. Я понимаю, что перед развертыванием мои относительные сопоставления томов превращаются в абсолютные, а на удаленном хосте /home/john/valet/testapp не существует.

  volumes:
        - ./:/var/www/:cached

, но я не совсем уверен, как решить эту проблему.

PS Локально все отлично работает с docker-compose build && docker-compose up -d и на док-хабе, мои автоматические сборки также успешно строятся.

Отредактировано : на всякий случай добавление репоисходный код: https://github.com/neorganic/dockertest

Ответы [ 3 ]

1 голос
/ 05 октября 2019

Все, что вам нужно сделать, это указать правильный путь для вашего тома. Вы можете создать отдельный файл и назвать его docker-compose-production.yml.

volumes:
  - /srv/data/www/:/var/www/

Кроме того, имейте в виду, что для производственных систем вы хотите использовать режим swarm (docker swarm init) и применять изменения stach с помощью docker swarm deploy.

Опция :cached применима только к системам OSX, и, скорее всего, вы используете операционную систему на основе linux.

0 голосов
/ 11 октября 2019

Таким образом, фактическая проблема заключалась в том, что я не понимал, что том должен существовать на хосте, на котором развертываются контейнеры. По какой-то причине я подумал, что он копируется / синхронизируется с моего локального устройства.

Я также пришел к выводу, что сложность получения вашего исходного кода для размещения в docker-swarm - это то, чего я бы предпочел не иметькогда kubernetes это решило, поэтому я переключаюсь на kubernetesgc в этом отношении).

0 голосов
/ 30 сентября 2019

попробуйте изменить это на:

- $PWD:/var/www/:cached

Я думаю, вам нужен полный путь здесь

...