Как получить доступ к TCP-порту Linux Docker с хоста Windows 10 - PullRequest
0 голосов
/ 13 мая 2019

Я установил Docker для Windows на Windows 10. Я запускаю контейнеры Linux на докере. У меня есть приложение на Python с ZeroMQ, на котором сервер zmq прослушивает порт 3000. Я хочу отправлять изображения из моего приложения c #, развернутого на хосте Windows, для подключения к приложению zmq, работающему на Docker-контейнерах Linux, и отправлять изображения через tcp с помощью zeromq. Я не могу получить доступ к порту TCP-контейнера из приложения Windows. Пожалуйста, сообщите.

Я попробовал следующее:

C:\Windows\system32>docker run -p 3000:3000 server-zmq10 docker: 

Ошибка ответа от демона:

driver failed programming external connectivity on endpoint condescending_kilby
(fc383d60832ae98a5601ba62e215a4033936f74b64577ca6b14f7c47f1f27f9a): Error starting
userland proxy: mkdir /port/tcp:0.0.0.0:3000:tcp:172.17.0.2:3000: input/output error. 

Код Python:

context = zmq.Context()
socket = context.socket(zmq.REP)
print('Binding to port 3000')
socket.bind("tcp://127.0.0.1:3000")

Я сделал на DockerFIle при создании образа:

EXPOSE 3000

Есть ли что-нибудь еще, что требуется здесь?

1 Ответ

0 голосов
/ 13 мая 2019

После выставления порта 3000 какая-либо служба запущена для прослушивания?

или используйте -p 5000: 5000 в команде запуска Docker

...