怎么实现Docker容器之间通讯
参考文档:https://blog.csdn.net/u013355826/article/details/84987233
- 通过
--link
的方式把不同的容器连接起来,如下所示(不推荐):
# 启动mysql容器
docker run -d --name test-mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7
# 启动另一个容器,用来对上面的mysql容器进行请求
docker run -d --link test-mysql:my-test-mysql -e MYSQL_ROOT_PASSWORD=1234 --name test-centos mysql:5.7
# 进入下面这个容器中
docker exec -it test-centos /bin/bash
# 使用下面指令能正常进入另一台容器MySQL命令行操作界面,这里 -h 后面的参数也可以是 my-test-mysql 都是最上面创建的容器
mysql -h test-mysql -uroot -p1234
如下图所示:
- 使用网桥的方式(推荐)
# 创建一个网络
docker network create test-network
# 使用上面的网络启动一个mysql容器
docker run -d --network test-network --network-alias test-mysql -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7
# 使用上面的网络启动一个容器,用来对上面的mysql容器进行请求
docker run -d --network test-network --network-alias test-centos -e MYSQL_ROOT_PASSWORD=1234 --name test-centos mysql:5.7
# 进入下面这个容器中
docker exec -it test-centos /bin/bash
# 使用下面指令能正常进入另一台容器MySQL命令行操作界面,说明网络配置成功了
mysql -h test-mysql -uroot -p1234