更多内容参考链接。
Docker的一大优势在于Docker支持不同Docker间以及Docker和Host间的网络通信,因此使用Docker可以允许不同环境、平台协同工作,这在开发涉及依赖较为复杂的项目时很有用处。
Docker通过driver
实现网络通讯。
1. 使用Bridge Network
本节内容参考链接。Bridge
允许连接到同一bridge
的docker
间进行网络通讯。
1.1 创建User-defined Bridge
1 | docker network create my-net # 更多用法通过docker network create --help获得 |
1.2 删除User-defined Bridge
1 | docker network rm my-net |
1.3 将Container连接到User-defined Bridge
下述命令创建一个名为my-ros
的container
,将container
连接到名为my-net
的Bridge网络桥,并将container
的80
端口映射到Host的8080
端口。
1 | docker run -it --name my-ros \ |
下述命令将当前正在运行的container
连接到名为my-net
的Bridge网络桥。
1 | docker network connect my-net my-nginx |
1.4 将Container从User-defined Bridge断开
1 | docker network disconnect my-net my-nginx |
2. 使用Host Network
本节内容参考链接。使用Host network的container的网络不会和Host隔绝,此时container
也不会有自己的IP
地址。Host network只能用于Host系统为Linux的情况。
Container只能在创建时被连接到Host Bridge,命令如下:
下述命令创建一个名为my-ros的
container,将
container连接到
Host`网络桥:
1 | docker run -it --name my-ros \ |
3. 使用Overlay Network
本节更多内容可以参考链接。