Это старая версия документа!


Helper plugin linkback is not available or invalid.

docker-compose.yml - Примеры конфигурационных файлов для композитора

В общем случае у вас должен быть Dockerfile CMD, а не Compose command:. Если не определить ни одной из них, то получите сообщение об ошибке.
  • Если во время выполнения определена только одна из инструкций, то и CMD и ENTRYPOINT будут иметь одинаковый эффект.
  • Те же результаты будут, если использовать CMD вместо ENTRYPOINT.
Режим Пример Формат запуска Завершение работы $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]

  • Если используется режим 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

proxy:
  image: leanlabs/nginx:1.0.1
  volumes:
    - "./build/conf.d:/etc/nginx/conf.d"
    - "./build/certs:/etc/nginx/certs"
    - "./build/sites-enabled:/etc/nginx/sites-enabled"
  links:
    - kanban:kanban
  ports:
    - "443:443"
    - "8082:80"

kanban:
  image: leanlabs/kanban:1.7.1
  environment:
    # URL on which Leanlabs Kanban will be reachable
    - KANBAN_SERVER_HOSTNAME=http://kanban.gitlab.com
    # This string is used to generate user auth tokens
    - KANBAN_SECURITY_SECRET=qwerty
    # Your GitLab host URL
    - KANBAN_GITLAB_URL=https://gitlab.com
    # Your GitLab OAuth client ID
    - KANBAN_GITLAB_CLIENT=qwerty
    # Your GitLab OAuth client secret key
    - KANBAN_GITLAB_SECRET=qwerty
    # Wheter to enable sign up with user API token
    - KANBAN_ENABLE_SIGNUP=true
    # Redis server address - IP:PORT
    - KANBAN_REDIS_ADDR=redis:6379
  links:
    - redis:redis
  command: ./kanban server

redis:
  image: leanlabs/redis:1.0.0
  volumes:
    - "/data:/data"
 2023/06/18 17:49, ,
 2025/02/26 19:57, , ,
 2025/11/15 03:42, , , , , , , ,
 2025/11/24 14:12, , , , , , , ,
 2025/11/20 00:14, , , , ,
 2025/11/19 12:25, , , ,
 2025/11/25 00:19, , , , , , , ,
 2025/11/19 11:12, , , ,
 2016/12/05 00:08, , , , , , , , ,
 2024/05/02 19:24,
 2026/01/12 20:38, , ,
 2025/02/10 11:29, , , , , , , , ,
 2024/05/02 00:11,
 2015/10/13 09:01, , , , , , ,
 2019/07/30 10:46, , , , , , , , ,
 2016/12/05 00:09, , , , , , ,
 2016/12/05 00:08, , , , , , ,
 2016/12/05 00:47, , , , , , ,
 2018/02/28 22:23, , , , , , ,