[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
```