null

Destination Host Unreachable на машине с Docker контейнерами

В один день прекрасный день, сидя на работе, я решил написать заметку в блог. Попытавшись зайти на сайт, я получил следующее сообщение от браузера.

Картинки по запросу host unreachable chrome

 

Странно. Интернет работает. Решил попробовать проверить в терминале доступность сервера.

ping www.tune-it.ru
PING www.tune-it.ru (192.168.XX.XX) NN(NN) bytes of data.
From bleizard (192.168.XX.XX) icmp_seq=1 Destination Host Unreachable
From bleizard (192.168.XX.XX) icmp_seq=2 Destination Host Unreachable
From bleizard (192.168.XX.XX) icmp_seq=3 Destination Host Unreachable

Я человек простой. Вижу, что запрос отправляется на внутренний IPшник, значит у меня не работает внутренняя сеть. Иду проверить какой-нибудь другой внутренний ресурс. Всё работает. Смотрю свой ip адрес.

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether ZZ:ZZ:ZZ:ZZ:ZZ:ZZ brd ff:ff:ff:ff:ff:ff
    inet 192.168.YY.YY/24 brd 192.168.YY.255 scope global dynamic noprefixroute enp3s0f1
       valid_lft 41302sec preferred_lft 41302sec
    inet6 fe80::a796:ce04:4587:fc77/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: br-09493fb98c14: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:a7:81:82:fe brd ff:ff:ff:ff:ff:ff
    inet 172.31.0.1/16 brd 172.31.255.255 scope global br-09493fb98c14
       valid_lft forever preferred_lft forever
4: ...

Выглядит всё верно. Есть интерфейс для ethernet и ip-адрес. Но  одна внутренняя подсеть не работает.

Помимо этого интерфейса есть целая пачка bridge'ов созданных docker'ом.

 

 

 

Казалось, что тут мои полномочия всё и нужно искать эксперта, который починит проблему. Однако, где-то в моей памяти возникла проблема коллеги связанная с bridge'ами, которые создает docker. 

Во время поиска  в google схожей проблемы нашёл несколько подходящих под мою проблему предложений:

It might be that you docker network is interfering with the original network on your host. 

Docker bridge conflicts with external private ip address.

Это придало мне уверенности в том, что проблема в пачке интерфейсов, которые создал docker.

После  этого проблему удалось решить одной командой без труда найденной в документации docker'а.

docker network prune

Исходя из документации эта команда удаляет все неиспользуемые докеровские сети.

 

Теперь сайт работает и можно писать заметки в блог.

 

На этом, пожалуй, откланяюсь.