[TOC] # 自定义网络 ## 前言 在 Docker 中启动多个容器,容器要实现相互通讯,比如博客后端要和数据库容器通信,这个时候就可以采用容器之间的通讯方式解决。 首先删除所有的容器,启动 app1 和 app2 容器 ``` docker rm -f $(docker ps -aq) ``` 然后启动测试容器app1和app2 ``` docker run -d -p 88:80 --name app1 nginx docker run -d -p 90:80 --name app2 nginx ``` ## 通讯方式一:外部端口访问 ``` docker exec -it app1 bash curl http://xxx.xxx.xxx.xxx:90 ``` ## 通讯方式二:docker0(容器默认网络) ``` 退出,查看ip值 ip a 查看容器的详细信息(查看IPAddress) docker container inspect app1 docker container inspect app2 进入app1 docker exec -it app1 bash 根据app2的IP地址访问app2 curl http://172.17.0.3:80 ``` ## 通讯方式三:创建自定义网络访问 ``` 创建自定义网络 docker network create mynet 启动容器 docker run -d -p 88:80 --name app1 --network mynet nginx docker run -d -p 90:80 --name app2 --network mynet nginx 进入app1 docker exec -it app1 bash 根据容器app2的名字访问app2 curl http://app2:80 ```