Docker 容器网络揭秘集装箱之间的悄悄话
容器之间怎么聊天?
想象一下:你有很多个 Docker 容器,每个都是一个独立的小房间。现在容器 A 想找容器 B 借个酱油——它们怎么通信?
这就引出了 Docker 网络的三大模式:Bridge、Host、Overlay。翻译成人话就是“独栋别墅模式”、“合租公寓模式”和“跨小区串门模式”。
🌉 Bridge 网络
当你 docker run 一个容器时,默认就进了 bridge。每个容器住在独立别墅,别墅之间有一座桥连接。
docker network create my_net
docker run --network my_net --name web -d nginx
docker run --network my_net --name db -d postgres
# web 可以直接 ping db!
docker exec web ping db🏠 Host 网络
Host 模式就像合租——容器和宿主机共用一张网卡。好处是性能几乎没有损失,坏处是端口不能重了。
docker run --network host -d nginx
# 直接访问宿主机的 80 端口就行了!🌐 Overlay 网络
如果你有多台服务器,想让不同机器上的容器互相通信——这就是 Overlay。它像给所有容器拉了一个“内部微信群”。
总结:Bridge 是开车的走桥,Host 是拼车的坐副驾,Overlay 是打车的跨城专车。