Симптомы проблемы:
- После установки Docker на VDS, через некоторое время пропадает сеть
- После рестарта, сеть появляется на короткий промежуток времени и опять пропадает
Решение проблемы
Добавить в sysctl.conf
net.ipv4.neigh.default.gc_stale_time = 3600
net.ipv4.neigh.default.base_reachable_time_ms = 600000
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_notify = 1
net.bridge.bridge-nf-call-iptables = 1
и применить значения командой sysctl -p
Так же бывают случаи конфликта сети Docker
По умолчанию Docker автоматически выделяет подсети для пользовательских сетей контейнеров в пуле 172.17.0.0/16
Требуется задать собственный диапазон адресов.
Создайте или отредактируйте конфиг демона
Откройте файл /etc/docker/daemon.json и добавьте настройки пула адресов:
{
"default-address-pools": [
{ "base": "10.10.0.0/16", "size": 24 }
]
}
Перезапустите Docker
service docker restart
Проверьте результат
docker network create foo
docker network inspect foo | grep Subnet
"Subnet": "10.10.1.0/24"
Примечание: В примере выше Docker будет выдавать подсети /24 внутри базовой сети 10.10.0.0/16 при создании новых пользовательских сетей.
