Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
system:docker:docker-compose.yml [2024/05/02 00:07] mirocowsystem:docker:docker-compose.yml [2024/05/02 00:09] (текущий) mirocow
Строка 1: Строка 1:
 ====== docker-compose.yml - Примеры конфигурационных файлов для композитора ====== ====== docker-compose.yml - Примеры конфигурационных файлов для композитора ======
- 
-<note tip>В общем случае у вас должен быть Dockerfile CMD, а не Compose command:. Если не определить ни одной из них, то получите сообщение об ошибке.</note> 
- 
-<note tip>   
-  * Если во время выполнения определена только одна из инструкций, то и CMD и ENTRYPOINT будут иметь одинаковый эффект. 
-  * Те же результаты будут, если использовать CMD вместо ENTRYPOINT. 
-</note> 
- 
-^ Режим     ^ Пример                            ^ Формат запуска             ^ Завершение работы  ^ $PATH ^ 
-| SHELL     | ENTRYPOINT ping www.ya.ru         | /bin/sh -c ping www.ya.ru  | -                  | [ ]   | 
-| EXEC :!:  | ENTRYPOINT ["ping", "www.ya.ru" | ping www.ya.ru             | CTRL-C             | [x]   | 
- 
-{{https://habrastorage.org/r/w1560/web/ca2/564/592/ca25645927e9445c9a70475de1be7afc.png?800|}} 
- 
-==== Правила использования ==== 
- 
-  * Если используется режим shell для ENTRYPOINT, CMD игнорируется. 
-  * При использовании режима exec для ENTRYPOINT аргументы CMD добавляются в конце. 
-  * При использовании режима exec для инструкции ENTRYPOINT необходимо использовать режим exec и для инструкции CMD. Если этого не сделать, Docker попытается добавить sh -c в уже добавленные аргументы, что может привести к некоторым непредсказуемым результатам. 
-  * Инструкции ENTRYPOINT и CMD могут быть переопределены с помощью флагов командной строки. 
-  * Все вышеперечисленные факты справедливы, но разработчики имеют возможность переопределять флаги в команде docker run 
- 
-==== Использование ==== 
- 
-  * Используйте ENTRYPOINT, если вы не хотите, чтобы разработчики изменяли исполняемый файл, который запускается при запуске контейнера. Вы можете представлять, что ваш контейнер – исполняемая оболочка. 
-  * Используйте только CMD (без определения ENTRYPOINT), если требуется, чтобы разработчики могли легко переопределять исполняемый файл. Если точка входа определена, исполняемый файл все равно можно переопределить, используя флаг --entrypoint. 
- 
-==== command ==== 
- 
-В файле Compose переопределяет CMDDockerfile. Есть некоторые незначительные синтаксические различия (в частности, Compose никогда не будет автоматически вставлять sh -cза вас оболочку оболочки), но они контролируют одно и то же в метаданных контейнера. 
- 
-Однако помните, что помимо Compose существуют и другие способы запуска контейнера. docker run не прочитает ваш docker-compose.yml файл и не увидит эту command: он также не читается такими инструментами, как Kubernetes. Если вы встроите Dockerfile CMD в, оно будет использовать во всех вариантах. 
- 
-Переопределение действительно необходимо command:в том случае, если вам нужно запустить основной процесс, отличный от стандартного, для контейнера. 
- 
-==== endpoint ==== 
- 
  
 ===== kanban ===== ===== kanban =====