阅读量:151
在CentOS上使用Docker实现容器间通信,可以通过以下几种方式:
1. 使用默认的桥接网络
Docker默认会创建一个名为bridge的桥接网络,所有未指定网络的容器都会连接到这个网络上。
步骤:
启动容器:
docker run -d --name container1 nginx
docker run -d --name container2 nginx
查看容器IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container2
从container1访问container2:
curl http://
2. 创建自定义桥接网络
你可以创建一个自定义的桥接网络,以便更好地控制容器间的通信。
步骤:
创建自定义桥接网络:
docker network create my_bridge_network
启动容器并连接到自定义网络:
docker run -d --name container1 --network my_bridge_network nginx
docker run -d --name container2 --network my_bridge_network nginx
查看容器IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container2
从container1访问container2:
curl http://
3. 使用主机网络
如果你希望容器直接使用主机的网络栈,可以使用--network host选项。
步骤:
启动容器并使用主机网络:
docker run -d --name container1 --network host nginx
docker run -d --name container2 --network host nginx
从container1访问container2:
curl http://localhost:80
4. 使用Docker Compose
Docker Compose可以更方便地管理多个容器及其网络。
步骤:
创建docker-compose.yml文件:
version: '3'
services:
container1:
image: nginx
networks:
- my_network
container2:
image: nginx
networks:
- my_network
networks:
my_network:
driver: bridge
启动服务:
docker-compose up -d
查看容器IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container2
从container1访问container2:
curl http://
总结
选择哪种方式取决于你的具体需求和应用场景。