Я пытаюсь настроить статический 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