Назад | Перейти на главную страницу

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

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

В --link Опция позволяет контейнерам на одном компьютере находить друг друга, учитывая, что IP-адреса назначаются динамически, а порты могут быть повторно сопоставлены. Однако все дело в связи через сокеты. Идея состоит в том, что вы будете запускать программу в одном контейнере, прослушивающем сокет, и вы будете запускать другую программу в другом контейнере, которая будет подключаться к первому сокету.

Docker (и контейнеры linux в целом) предназначены для изоляции одного объекта от другого, поэтому механизмы IPC, такие как общая память, недоступны.