docker-compose не выполняющиеся команды

У меня есть такой docker-compose:

web:
build: ../../
dockerfile: environments/production/Dockerfile
links:
- fpm:fpm
- redis:redis
- elasticsearch:elasticsearch
- beanstalkd:beanstalkd
volumes:
- /var/cache/nginx
- ../../:/app:ro
...
composer:
image: imega/composer
volumes:
- ../../:/data
command: ["install"]
node:
image: node:slim
volumes:
- ../../:/app
working_dir: /app
entrypoint: npm
command: ["install"]

Цель состоит в том, чтобы установить composer и узел deps при сборке. И это должно работать теоретически, но на самом деле команда, записанная в определении контейнеров, не выполняется. Любая команда. Я пытался запустить «эхо» или «ls». — ничего такого.

Есть идеи почему?

-1

Решение

Я думаю, что вы неправильно понимаете пару вещей здесь:

  • Ты бегаешь npm install установить зависимости в томе, а затем том будет использован вашим приложением контейнера. Это не содержит каких-либо зависимостей в образе приложения. Хотя это может работать, это означает, что изображение на самом деле не работает само по себе. Когда вы отправляете это изображение в производство, вы нарушаете контракт, в котором говорится, что «это приложение похоже на разработку». Помните об этом.
  • Ты бегаешь npm install как услуга, которая в конечном итоге выйдет. Когда команда завершается, контейнер останавливается. Более того, web служба (которая, вероятно, зависит от этих зависимостей) может запускаться до npm install закончил

Есть ли причина, по которой вы не хотите иметь composer install а также npm install как часть процесса сборки вашего приложения?

1

Другие решения

не используйте команду: [«install»]

пытаться:

команда: установить

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector