С
$ sudo nmcli connection modify p7p1 connection.autoconnect yes
NetworkManager настроен на получение IPv4-адреса для интерфейса p7p1.
Работает при перезагрузке.
Чтобы заставить его работать вручную, вам потребуется
$ sudo nmcli connection up p7p1
Спасибо за lrintel на #nm, IRC-канале для NetWorkManager.
Сеть Docker bridge
— это лишь один из многих вариантов настройки сети. В сетевой документации Docker перечислены различные сетевые плагины, которые можно использовать для связи с контейнерами.
Если вам просто нужно подключиться к службе в контейнере Docker, возиться с сетью будет немного излишним, поскольку вы можете открыть порт службы на хосте, подключенном к порту в Docker. Docker называет это «публикацией портов» и используется в команде docker run
с флагом --publish
или -p
. Не должно быть необходимости напрямую подключаться к контейнеру Docker.
Однако, если вы хотите напрямую подключиться к контейнеру, Docker, безусловно, позволит вам это настроить.
РЕДАКТИРОВАТЬ :Я неправильно понял, что первоначальный вопрос был о маршрутизации хоста.
Что касается маршрутизации узлов, Docker позволяет изменять используемые им сетевые диапазоны. Если вы используете docker
для создания своих сетей, вы можете настроить интерфейс docker0
на любой диапазон, который вы хотите, обязательно выберите тот, который в настоящее время не используется в вашей сети.
Если вы используете docker-compose
для создания сетей, вам необходимо настроить сетевые диапазоны в файле docker-compose.yml
для этого проекта.
Маршруты с большими префиксами (, такие как ваш 172.18.100.101
маршрут хоста ), будут иметь более высокий приоритет, чем маршруты с меньшим префиксом (, такие как маршруты /16, добавленные докером ). Итак, ваш первоначальный подход должен работать. Однако, если 172.18.100.101
не доступен напрямую через eth0
, вам также потребуется указать для него шлюз.
например:
ip route add 172.18.100.101/32 via 10.x.x.x dev eth0