Доступ к хост-процессу / терминалу из док-контейнера - PullRequest
1 голос
/ 02 июня 2019

Привет,

Я пытаюсь докеризовать приложение узла. Я создал два контейнера и файл docker-compose.yml. Контейнеры успешно собраны и работают, но один должен взаимодействовать с хост-процессом. Как это возможно?

Спасибо за

ОБНОВЛЕНИЕ 1
Мое приложение выполняет некоторые команды с помощью sudo. Вероятно, я должен позволить контейнеру Docker выполнять команды, которые нацелены на хост-систему. Есть идеи?

Ответы [ 2 ]

1 голос
/ 02 июня 2019

Вы не можете выполнять хост-приложения в своих контейнерах. Потому что они не находятся в вашей файловой системе контейнеров, и вы не должны пытаться это делать. Вместо этого вы должны установить все необходимое программное обеспечение, которое требуется вашему приложению, внутри док-контейнера в качестве зависимости для вашего приложения.

1 голос
/ 02 июня 2019

Я предполагаю, что под взаимодействием с хост-процессом вы подразумеваете взаимодействие по некоторому сетевому протоколу, поэтому вам потребуется доступ к IP-адресу хоста из контейнера.

IP-адрес хост-компьютера - это шлюз по умолчанию контейнера, если вы используете докер bridge network . Это может быть в том случае, если вы не указали конкретную конфигурацию сети в вашем docker-compose.yml (https://docs.docker.com/compose/compose-file/#network-configuration-reference)

Поскольку вы используете node.js, вы можете использовать пакет default-gateway (https://www.npmjs.com/package/default-gateway) для получения этого IP-адреса.

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