Как назначить публичные IP-адреса для докеров? - PullRequest
0 голосов
/ 28 апреля 2019

Я хочу запустить 5 док-Cointeiners с тем же приложением, оно использует порт 50505, я хочу открыть этот порт для Интернета.

Мой сервер работает под управлением Ubuntu 18.04

Назначенные IP-адреса

204.12.240.210-214

Похоже, я получил 4 IP-адреса

Я могу SSH к любому из них, и это работает.

Теперь я немного свеж сДокер все еще изучает его.

Кто-нибудь может дать команды, как создать сеть с этим IP, а затем как запустить экземпляр с этим IP?

Я считаю, что это возможно.

NormalliЯ запускаю приложение так:

запуск докера -d -P --net = хост -v / mnt / chaindata: / go-matrix / chaindata - name matrix --restart всегда снимать с охраны / matrix

Но когда вы запустите второй экземпляр, он выйдет из строя, потому что порты используются первым

Так что я мог бы исправить это с помощью IP

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Если честно, я не знаю, как справиться с этим --net=host.

Но, одно из возможных решений: не используйте host network, используйте default bridge0's bridge network. Но вам нужно знать порты вашего приложения и выставить его самостоятельно. Затем при выставлении портов вы можете указать ip.

Примерно так:

docker run -d -p 204.12.240.210:80:80 -p 204.12.240.210:8080:8080 disarmm/matrix
docker run -d -p 204.12.240.211:80:80 -p 204.12.240.211:8080:8080 disarmm/matrix

Затем вы можете видеть на хосте, что у вас есть два порта 80/8080, открытых на одной и той же хост-машине с разными IP-адресами.

Как упоминалось выше, ограничение: вы должны точно знать, какие порты вы использовали.

См. это для формата.

0 голосов
/ 29 апреля 2019

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

Также вы можете создать Nginx с помощью Docker

Далее вы узнаете, как назначить IP и найти порт, который Nginx прослушивает

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