Как позвонить из ContainerA, позвонить / запустить сценарий оболочки, который находится в ContainerB? - PullRequest
0 голосов
/ 14 мая 2019

У меня есть два Docker-контейнера Linux: * ContainerA - образ tomcat - запускает приложение Java * ContainerB - образ Ubuntu - выполнение сценария оболочки запускает приложение CLI linux

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

Я пытаюсь вызвать из ContainerA скрипт оболочки, который находится в ContainerB, но не могудоступ к нему.

  1. Изучал --links, но это не сеть.Я запутался, как действовать или заставить его работать.

1 Ответ

1 голос
/ 14 мая 2019

Как я уже отмечал в комментариях, для этого вы не найдете простого решения OOTB Docker.Контейнеры обычно общаются друг с другом через сетевые протоколы (HTTP) и поэтому не сильно отличаются от реальных, пространственно разделенных машин.Таким образом, вам потребуется API для вашего контейнера B, который возвращает ресурс, который вы хотите, запрашивающему концу (контейнер A в вашем случае).API могут быть построены различными способами;Я уже упоминал Flask для Python. Джерси , похоже, похож на фреймворк для Java.

Реализация этого не происходит на одном дыхании, но я не вижу, как подойти к этому по-другому, кроме переосмысления вашей установки какв целом.

...