Что там за `docker0`?

Sep 18 2020

Я прочитал документ о dockerсетевом режиме.

там показ есть docker0и eth1на хосте.

У меня вопрос: что это docker0? это интерфейс или мост? если это интерфейс, у него должен быть IP-адрес, с которым можно общаться 172.17.0.2, верно?

Ответы

1 VonC Sep 18 2020 at 11:32

Вы можете увидеть, например, docker0, описанный в этой статье :

Мост docker0 - это виртуальный интерфейс, созданный докером, он случайным образом выбирает адрес и подсеть из частного диапазона, определенного RFC 1918, которые не используются на хост-машине, и назначает их docker0.

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

По умолчанию Docker присоединяет все контейнеры к мосту docker0, поэтому вам не нужно указывать какой-либо дополнительный флаг с командой docker run для подключения контейнеров докеров к docker0мосту, если только DOCKER_OPTSв файле конфигурации докера явно не указано использование другой сети, кроме docker0моста , в этом случае вы можете использовать –net=bridgeкоманду docker run для подключения контейнеров к docker0мосту.

См. Также « Какая связь между docker0и eth0? »