Связь между контейнерами в докере кроме сокетов / сети
Есть ли способ связи между контейнерами Docker, кроме как через сокеты / сеть? Может быть, это может быть IPC или какое-то другое средство. Это возможно?
Я прочитал документацию по докеру, в которой говорится, что мы можем связать контейнеры докера с помощью опции --link, но там не указано, как передавать данные / сообщения из одного контейнера в другой. Я уже создал контейнер с именем checkram. Теперь я хочу связать новый контейнер с этим контейнером, и я запускаю docker run -i -t --privileged --link=checkram:linkcheck --name linkcont topimg
команда. Затем я проверил переменную env LINKCHECK_PORT
в контейнере linkcont, который содержит tcp://172.17.0.14:22
, Я не знаю, что делать с этим ip и портом и как общаться с контейнером checkram из контейнера linkcont. кто-нибудь может мне помочь из этого? Заранее спасибо.
1 ответ
--link
Эта опция позволяет контейнерам на одной машине находить друг друга, учитывая, что IP-адреса назначаются динамически, а порты могут быть переназначены. Тем не менее, это все о сокетной связи. Идея состоит в том, что вы будете запускать программу в одном контейнере, прослушивая сокет, и вы будете запускать другую программу в другом контейнере, которая будет подключаться к первому сокету.
Docker (и контейнеры linux в целом) предназначены для изоляции одного от другого, поэтому такие механизмы IPC, как общая память, недоступны.