容器间网络连接
Docker内部网络
- 在安装Docker时, 会创建一个新的网络接口docker0, 每个docker容器都会在这个接口上分配一个IP地址, docker0是一个虚拟的以太网桥, 用于连接容器以及本地宿主网络
- docker0会默认使用172.17.x.x作为子网地址, 若被占用, 则会在172.16~172.30这个范围尝试创建子网
- 重启容器, Docker会改变容器的IP地址
Docker Networking(推荐使用)
- 允许自定义网络, 容器可以通过该网络跨越不同的宿主机互相通信
- 对应服务的配置文件中, host=自定义网络名
- Docker会通过/etc/hosts文件将容器地址保存在本地DNS中, 任何一个容器重启, IP地址会在/etc/hosts文件中自动更新
- 一个容器可以同时隶属于多个docker网络
```shell
创建自定义网络
docker network create test1
查看网络
docker network inspect test1
查看当前系统所有网络
docker network ls
删除网络
docker network rm test1
容器运行时使用自定义网络
docker run -d —net=test1 —name ubuntu-test1 ubuntu
将已存在容器连接到Docker网络(断开连接为disconnect)
docker network connect test1 ubuntu-test2
<a name="Eodv7"></a>
### Docker link
- 只能工作在同一台宿主机中
```shell
docker run -d --name ubuntu-test2 --link ubuntu-test1:test_link ubuntu
--link 创建容器时指定与另一个容器建立连接, :后接连接别名, 可以指定多次--link来连接到多个容器