Можете ли вы определить дополнительные сервисы для сокетов?

Есть ли способ определить службу Docker Compose таким образом, что она только приносит up, когда вы явно запрашиваете ее?

То есть:

docker-compose up

не запускает его, но

docker-compose up optional_service

будет.

Ответ 1

Один из способов добиться этого - определить ваш дополнительный сервис в другом файле. Затем, чтобы запустить дополнительный сервис, запустите:

$ docker-compose -f docker-compose.yml -f optional-service.yaml up

Например, если у меня есть файл docker-compose.yml, который выглядит следующим образом:

version: '2.1'
services:
  lb:
    image: nginx:1.13           
  db:
    image: redis:3.2.9

Я могу расширить его с помощью option-service.yml, который выглядит следующим образом:

version: '2.1'
services:
  busy:
    image: busybox

Обратите внимание, что оба составных файла должны использовать одну и ту же версию составного файла.

Вы можете прочитать больше об этом в документации Compose.