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