Вызов или связь с контейнером Docker на одном компьютере из другого приложения, не в контейнере Docker, а на другом компьютере - PullRequest
0 голосов
/ 29 мая 2019

У меня есть докер-контейнер на одной машине, работающей, скажем, на машине A. У меня есть другая машина B, которая состоит из сервера фляги. Я хотел бы позвонить / связаться с док-контейнером на машине A с моего флеш-сервера на машине B. Я не запускаю свой флеш-сервер внутри какого-либо док-контейнера. Я на самом деле очень плохо знаком с докером, поэтому я не уверен, сможем ли мы этого достичь или нет.

Ответы [ 2 ]

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

Вы можете просто напрямую зайти на службу http в контейнере с другой машины.

Например,

Контейнер на машине А был таким:

docker run -idt -p 9000:80 nginx

Затем, вы станете в колбу Bприложение, вы можете просто использовать:

requests.get("http://your_machine_a_ip:9000")

, чтобы получить то, что вам нужно.

Просто помните, что для контейнера вам нужно предоставить http порт хосту, чтобы другой компьютер мог его посетить.

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

Я не уверен, что вы хотите сделать с вашим док-контейнером с сервера фляги, но я предполагаю, что это будет API или какая-то служба, работающая в док-контейнере, которую вы хотите использовать на сервере фляги. Вы можете сделать это, используя IP-адрес компьютера A, на котором запущен док-контейнер, а также вам нужно будет привязать порт вашего док-контейнера к порту хост-машины (машины A). Так что, когда бы вы ни пытались связаться с хостом на этом конкретном порту, вы будете вместо этого вызывать порт контейнеров. Если вы хотите выполнить команду в работающем контейнере, то есть два способа сделать это: во-первых, вы можете подключиться к контейнеру по SSH, во-вторых, подключиться к хост-компьютеру по SSH, а затем использовать docker exec. Но поскольку вы пытаетесь установить связь с флеш-сервером, я думаю, что это может быть не так.

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