Ubuntu 容器中没有 IPv6 环回地址

Ubuntu 容器中没有 IPv6 环回地址

我的 MacBook 上有一个通过 VirtualBox 运行的 Ubuntu 22.04 VM。 ip addr显示(除其他外):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

在这个虚拟机中,我运行了

docker run --rm -it ubuntu:22.04 bash

在容器内,我安装net-tools并运行了ifconfig.输出包含

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

为什么主机中有 IPv6 环回地址,容器中却没有?

答案1

Docker 默认设置不启用 IPv6 支持。将以下内容添加到您的/etc/docker/daemon.json

{
    "ipv6": true,
    "fixed-cidr-v6": "fd01::/16", // whatever subnet you want to use
    "ip6tables": true
}

docker之后使用服务管理器重新加载服务配置。

相关内容