发布于 

Docker快速入门&多容器通信

👨‍👦‍👦多容器通信

学习目标

项目往往都不是独立运行的,需要数据库、缓存这些东西配合运作。
这节我们把前面的 Web 项目增加一个 Redis 依赖,多跑一个 Redis 容器,演示如何多容器之间的通信。

创建虚拟网络

要想多容器之间互通,从 Web 容器访问 Redis 容器,我们只需要把他们放到同个网络中就可以了。

文档参考:https://docs.docker.com/engine/reference/commandline/network/

演示

创建一个名为test-net的网络:
1
docker network create test-net
运行 Redis 在 test-net 网络中,别名redis
1
docker run -d --name redis --network test-net --network-alias redis redis:latest
修改代码中访问redis的地址为网络别名
image.png
image.png
运行 Web 项目,使用同个网络
1
docker run -p 8080:8080 --name test -v D:/test:/app --network test-net -d test:v1
查看数据

http://localhost:8080/redis
容器终端查看数据是否一致

更多相关命令

docker ps 查看当前运行中的容器
docker images 查看镜像列表
docker rm container-id 删除指定 id 的容器
docker stop/start container-id 停止/启动指定 id 的容器
docker rmi image-id 删除指定 id 的镜像
docker volume ls 查看 volume 列表
docker network ls 查看网络列表