Docker 网络


Docker 引擎负责网络方面的工作,以便容器可以与其他容器以及 Docker 主机进行通信。

如果安装一个ifconfig在 Docker 主机上,将看到 Docker 以太网适配器。

这个适配器是在 Docker 主机上安装 Docker 时创建的。

IFCONFIG

这是 Docker Host 和 Linux Host 之间的桥梁,现在让我们看看 Docker 中与网络相关的一些命令。

列出所有Docker网络


列出主机上与 Docker 关联的所有网络。

语法

docker network ls

选项

None

返回值

该命令将输出 Docker 主机上的所有网络。

例子

sudo docker network ls

输出如下所示:

Docker Networks

检查 Docker 网络


如果想查看与 Docker 关联的网络的更多详细信息,可以使用 Docker network inspect 命令。

语法

docker network inspect networkname

选项

  • networkname: 这是你需要检查的网络名称。

返回值

该命令将输出有关网络的所有详细信息。

例子

sudo docker network inspect bridge

输出如下所示:

Inspecting Docker Network

现在让我们运行一个容器,看看当我们再次检查网络时会发生什么,让我们使用以下命令启动一个 Ubuntu 容器:

sudo docker run –it ubuntu:latest /bin/bash

Run a Container in Network

现在,如果我们通过以下命令检查我们的网络名称,你现在将看到容器已连接到网桥:

sudo docker network inspect bridge

Container Attached to Bridge

创建自己的新网络


可以在启动容器之前在 Docker 中创建一个网络,通过以下命令完成:

语法

docker network create –-driver drivername name

选项

  • drivername: 网络驱动使用的名称。

  • name:给网络起的名字。

返回值

该命令将输出新网络的长 ID。

例子

sudo docker network create --driver bridge new_nw

输出如下所示:

Long ID

现在可以在启动容器时附加新网络,使用以下命令启动一个 Ubuntu 容器:

sudo docker run –it –network=new_nw ubuntu:latest /bin/bash

New Network

现在,当通过以下命令检查网络时,将看到连接到网络的容器:

sudo docker network inspect new_nw

New NW