Docker 容器共享网络(localhost)

因为不同容器之间的 network namespace 隔离,所以各个容器的 localhost 回环地址也只能指向自己

不过在 k8s 下,同一 pod 内的容器之间,实际上是可以使用 localhost来互相访问的,这是为什么呢?

k8s 的 pod 中会默认运行一个名字叫pause的容器,其他的容器就挂到这个 pause 上面,也就是使用了 docker run –net container

docker run -i -t --name pause busybox sleep infinity
docker run -i -t --name nginx --net container:pause nginx
docker run -i -t --name watcher --net container:pause ubuntu sleep infinity
docker exec -i -t watcher /bin/bash

容器内
apt update
apt install curl
curl localhost:80
Send a Message