Связь между Windows Host и Linux Docker Container - PullRequest
0 голосов
/ 20 ноября 2018

enter image description here У меня следующая проблема.У меня есть часть программного обеспечения в хост-системе Windows, которая эмулирует com-интерфейс на этом компьютере.Теперь я хотел бы предоставить API / Socket / Pipe в этом программном обеспечении, которое принимает строку, передаваемую по локальной сети.

Программное обеспечение отправки должно быть веб-приложением ядра .net, которое размещено в kubernetes какDocker container (Linux).

Какую технологию я могу использовать для связи между контейнером Linux и хостом Windows.

  1. Именованные каналы -> Я думаю, что они недоступны вLinux?
  2. Сокеты?
  3. Попробуйте открыть веб-сервер на хосте Windows, чтобы получить доступ через http?

Какие у вас идеи и почему вы предпочитаете решение?

1 Ответ

0 голосов
/ 22 ноября 2018

В Linux есть именованные каналы, хотя точная семантика различных операций различается, но проблема, с которой вы столкнетесь, заключается в том, что именованный канал не может использоваться для связи между различными системами.Именованный канал - это межпроцессное взаимодействие для процесса, выполняющегося на той же машине.Обратите внимание, что Windows Host и Linux Guest здесь рассматриваются как две отдельные системы, даже если они живут на одних и тех же физических машинах.

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

Теперь единственная проблема заключается в том, какой протокол уровня приложения вы хотите использовать.использовать и хотите ли вы добавить какой-либо уровень безопасности (например, TLS) для шифрования и аутентификации соединения между компьютерами.Если у вас есть простой сервис, которому требуется только передача простых строк, то вы, вероятно, можете просто использовать сокет TCP / TLS напрямую, но если вы хотите воспользоваться стандартизированной фразеологией, методами, библиотеками и средами для различных вещей, таких как передача запросов и ответовсостояния, аутентификация, оптимистическая блокировка, кеширование, проксирование, управление сеансами, кодирование потоков произвольной длины и т. д., а затем построение связи поверх HTTP / HTTPS - разумная задача.Вы обнаружите, что многие сервисы в настоящее время построены как веб-сервисы, поскольку это значительно упрощает задачу масштабирования и использования этих функций.

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