использовать имя контейнера для команд в docker-compose - PullRequest
0 голосов
/ 09 мая 2018

Если я бегу

docker-compose ps

в моем проекте я получаю список контейнеров с указанием имени, команды, состояния и портов. Название выглядит так:

prefix_real_container_name_1

Если я использую полное имя для выполнения таких команд, как:

docker-compose stop prefix_real_container_name_1

тогда я получаю ошибку:

Нет такой службы: prefix_real_container_name_1

Но работает следующее:

docker-compose stop real_container_name

Что здесь происходит?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Использование docker-compose для доступа к вашим контейнерам всегда требует передачи имени службы в качестве параметра, в настоящее время это невозможно изменить.

Но вы можете использовать ключевое слово container_name в вашем файле компоновки следующим образом:

services:
   random_service:
      container_name: random_service
      # other definitions

, явно назвав контейнер таким же, как имя вашей службы (например, random_service), чтобы он 'Вы увидите то же самое в docker ps и docker-compose ps, и вы сможете обратиться к нему одинаково из:

$ docker stop random_service 

и

docker-compose stop random_service 
0 голосов
/ 10 мая 2018

Docker compose добавляет несколько текстовых пре- и постфиксов, чтобы избежать коллизий с именами других контейнеров, например, если вы запускаете два контейнера с узлом, то без их уникального имени у вас и докера будут проблемы с их распознаванием

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