У меня есть сервер на hetzner.de с 16 общедоступными IPv4-адресами.Can Docker автоматически добавляет IP-адреса хосту при запуске контейнера
Сейчас я бегу контейнеры, как это:
sudo docker run -d --name test6 -it -p 5.1.2.3:80:80 sunebeck/apache-php
Это изначально дают эту ошибку:
Error starting userland proxy: listen tcp 5.1.2.3:80: bind: cannot assign requested address.
, который фиксируется путем добавления адреса IP-на хосте вручную:
ip addr add 5.1.2.3 dev eth0
После этого он работает по назначению, и сервис открывается как порт 80 на 5.1.2.3. Однако это немного громоздко, чтобы управлять этим вручную.
Может ли Docker автоматически добавлять/удалять IP-адреса с хоста по мере необходимости?
Я думал об этом, но я также не хочу, чтобы физический сервер требовал IP-адрес, если другой хост может использовать тот, который использует его в данный момент. – sune
Но я могу, конечно, решить его, создав сценарий оболочки. Или, может быть, использовать некоторые из существующих сервисов для «оркестровки» больших установок. – sune
Право; Я собирался предположить, что использование уровня оркестровки, такого как Kubernetes, может помочь справиться с этим лучше. Однажды я написал инструмент (называемый [kiwi] (https://github.com/larsks/kiwi)), который сделал именно то, что вы хотите, но он никогда не был ужасно надежным и не работал с современными версиями Kubernetes. – larsks