Docker网络模型(九)禁用容器网络

禁用容器网络

如果你想完全禁用容器上的协议栈,你可以在启动容器时使用 --network none 标志。在容器内,只有回环设备被创建。下面的例子说明了这一点。

  1. 创建容器

    $ docker run --rm -dit \
      --network none \
      --name no-net-alpine \
      alpine:latest \
      ash
    
  2. 通过在容器内执行一些常见的网络命令来检查容器的协议栈。注意,容器没有创建 eth0 。

    $ docker exec no-net-alpine ip link show
    
    1: lo:  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:  mtu 1480 qdisc noop state DOWN qlen 1
        link/ipip 0.0.0.0 brd 0.0.0.0
    3: ip6tnl0@NONE:  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
    

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

  3. 停止容器。容器在创建时用了 --rm 标志,因此会被自动销毁。

    $ docker stop no-net-alpine
    

下一步

  • 通关 host 网络教程
  • 学习 容器角度中的网络
  • 学习 bridge 网络
  • 学习 overlay 网络
  • 学习 Macvlan 网络

你可能感兴趣的:(Docker,docker,网络,容器)