Docker快速入门 - 教程五之多容器通信

Docker 快速入门-5

学习目标

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

创建虚拟网络

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

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

演示

创建一个名为test-net的网络:

  docker network create test-net

运行 Redis 在 test-net 网络中,别名redis

  docker run -d --name redis --network test-net --network-alias redis redis:latest

修改代码中访问redis的地址为网络别名

  

https://image.coderlab.cn/preview/1476791779645755394

运行 Web 项目,使用同个网络

  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 查看网络列表