您的位置:首页 > 运维架构 > Docker

使用 Docker 容器网络

2017-06-27 15:14 225 查看
https://www.ibm.com/developerworks/cn/linux/l-docker-network/index.html

要构建具有安全的一致行为的 Web 应用程序,可以使用 Docker 网络特性。根据定义,网络为容器实现了完全隔离。因此,控制您的应用程序所在的网络很重要。Docker 容器网络为您提供了这种控制能力。

本文将概述 Docker 引擎交付原生的默认网络行为,介绍默认创建的网络类型,以及如何创建您自己的、用户定义的网络。


默认网络

安装 Docker 时,它会自动创建 3 个网络。可以使用 docker network ls命令列出这些网络。

这 3 个网络包含在 Docker 实现中。运行一个容器时,可以使用 the --net标志指定您希望在哪个网络上运行该容器。您仍然可以使用这 3 个网络。

bridge 网络表示所有 Docker 安装中都存在的 docker0 网络。除非使用 docker run --net=<NETWORK>选项另行指定,否则 Docker 守护进程默认情况下会将容器连接到此网络。在主机上使用 ifconfig命令,可以看到此网桥是主机的网络堆栈的一部分。

none 网络在一个特定于容器的网络堆栈上添加了一个容器。该容器缺少网络接口。

host 网络在主机网络堆栈上添加一个容器。您可以发现,容器中的网络配置与主机相同。


用户定义的网络

您可以创建自己的用户定义网络来更好地隔离容器。Docker 提供了一些默认网络驱动程序来创建这些网络。您可以创建一个新 bridge 网络或覆盖一个网络。也可以创建一个网络插件或远程网络并写入您自己的规范中。

您可以创建多个网络。可以将容器添加到多个网络。容器仅能在网络内通信,不能跨网络进行通信。一个连接到两个网络的容器可与每个网络中的成员容器进行通信。当一个容器连接到多个网络时,外部连接通过第一个(按词典顺序)非内部网络提供。


在 Power 上创建一个覆盖 Docker 网络

Docker 默认情况下会创建一个与 docker0网桥对应的 bridge 网络。您也可以创建自己的网络。docker
network命令有许多选项可用来管理网络。

另外,还可以采用其他一些选项,比如 --subnet、--gateway和 --ip-range。可以使用 docker
network – help或 docker network [COMMAND] – help命令查看更多信息。

可以通过在创建容器时显式提及某个网络,从而将该容器连接到该网络。

也可以动态地将容器连接到网络。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: