Связь между контейнерами в докере кроме сокетов / сети

Есть ли способ связи между контейнерами 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, как общая память, недоступны.

Другие вопросы по тегам