boot2docker / bootsync.sh игнорирует мой шлюз по умолчанию? - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь настроить статический IP-адрес для докера.

Благодаря VonC answer мне удалось начать.

Однако я столкнулся с проблемой: похоже, boot2docker игнорирует «route add default gw 192.168.0.1», несмотря ни на что.

Воспроизвести:

1. Создайте новый докер: OK

docker-machine create -d hyperv --hyperv-virtual-switch "Primary Virtual Switch" Swarm-Worker1

2. Примените свою партию: OK

dmvbf Swarm-Worker1 0 108

3. SSH в машину и проверьте, что bootsync.sh в порядке: OK

cat /var/lib/boot2docker/bootsync.sh

output:
kill $(more /var/run/udhcpc.eth0.pid)
ifconfig eth0 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add default gw 192.168.0.1

4. Выйдите из SSH, перезапустите машину и восстановите сертификаты: OK

docker-machine restart Swarm-Worker1
docker-machine regenerate-certs Swarm-Worker1

5. Убедитесь, что IP-адрес соответствует желаемому: OK

docker-machine env Swarm-Worker1

6: SSH в машину и проверьте его маршруты: KO

route -n

output:
127.0.0.1       0.0.0.0         255.255.255.255 UH    0      0        0 lo
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

7: Попробуйте установить шлюз вручную и проверьте, работает ли он: OK

route add default gw 192.168.0.1

OR

ip route add default via 192.168.0.1

Кто-нибудь знает, что происходит? Почему boot2docker игнорирует только инструкцию маршрута? Как я могу решить это?

P.S .: Мои докер-машины работают на Docker-Engine - Сообщество 18.09.6

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