0%

Docker详解(三):Docker-Network

更多内容参考链接

Docker的一大优势在于Docker支持不同Docker间以及Docker和Host间的网络通信,因此使用Docker可以允许不同环境、平台协同工作,这在开发涉及依赖较为复杂的项目时很有用处。

Docker通过driver实现网络通讯。

1. 使用Bridge Network

本节内容参考链接Bridge允许连接到同一bridgedocker间进行网络通讯。

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-roscontainer,将container连接到名为my-net的Bridge网络桥,并将container80端口映射到Host的8080端口。

1
2
3
4
docker run -it --name my-ros \
--network my-net \
--publish 8080:80 \
ros:kinetic-ros-core

下述命令将当前正在运行的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
2
3
docker run -it --name my-ros \
--network host \
ros:kinetic-ros-core

3. 使用Overlay Network

本节更多内容可以参考链接

------ 本文结束 ------