我的 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
之后使用服务管理器重新加载服务配置。