如果打算完全禁用容器网络栈,可以通过在启动容器时指定 --network none 标志实现,这样在容器内部只有loopback网络设备被创建。命令如下。
第二个命令没有返结果,因为没有路由被创建。
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: <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
$ docker container rm no-net-alpine