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

0
Fenil Shah 29 Май 2019 в 05:00

2 ответа

Лучший ответ

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

Например.

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

docker run -idt -p 9000:80 nginx

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

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

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

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

0
atline 29 Май 2019 в 05:46

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

1
Praveen Rewar 29 Май 2019 в 05:27