Вопрос №55328 от пользователя Эльдар Бабаев в проекте «Упаковка в Docker Compose»
Не понял что в итоге получается с этим компосом. Команда одного файла перезаписывается командой из другого. Как запускать их по отдельности? Нужно ли? Какие в итоге должны быть команды в makefile? Test + server?
Привет.
Последняя директива CMD
внутри Dockerfile становится точкой входа для контейнера (выполняется по умолчанию). Этот скрипт выполняется, когда мы запускаем скрипт командой вида
docker run hello-world # команда, которая выполнится - описана в Dockerfile
Мы ее соответственно можем переопределить
$ docker run hello-world sh # тут упадет. потому что в образе hello-world нет шелла
Также работает и с Docker-compose, который является просто оркестратором/оберткой надо самим докером.
Т.е. если мы пропишем command: make test
внутри докер-композа, то выполнится то, что должно быть в докер композе.
Override собственно переписывает то, что было в предыдущем (базовом) docker-compose.yml
Получается, что при запуске нашего приложения по-умолчанию стартует приложение на нужном порту. А при указании конкретной команды - тесты
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







