禁用容器的网络

禁用容器的网络

如果要完全禁用容器上的网络堆栈,可以在启动容器时使用--network none标记。 在容器内,仅创建回显设备。 以下示例说明了这一点。

  1. 创建容器。
$ docker run --rm -dit   --network none   --name no-net-alpine   alpine:latest   ash
  1. 通过在容器内执行一些常见的联网命令,检查容器的网络堆栈。 请注意,没有创建eth0。
$ docker exec no-net-alpine ip link show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN qlen 1
    link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
$ docker exec no-net-alpine ip route

第二个命令返回空,因为没有路由表。

  1. 停止容器。 它是使用--rm标记创建的,因此会自动删除。
$ docker container rm no-net-alpine

下一步