我正在尝试运行泊坞窗中的泊坞窗 (dind)(更具体地说,docker:22.06.0-beta.0-dind-rootless
)在 VirtualBox 中运行的 Alpine Linux 主机上的映像,每当容器启动时,它都无法启动容器内的 Docker,并显示以下错误消息:
Signature ok
subject=CN = docker:dind client
Getting CA Private Key
Device "ip_tables" does not exist.
modprobe: can't change directory to '/lib/modules': No such file or directory
open: No such file or directory
[rootlesskit:child ] error: executing [[ip tuntap add name tap0 mode tap] [ip link set tap0 address ...]]: exit status 1
我发现问题不在 VirtualBox 部分,因为这个错误没有发生在 Arch Linux 主机上,所以它是 Alpine 特有的
由于 Docker 使用主机内核,我尝试通过 启用它modprobe ip_tables
,但同样的错误仍然存在,是否有任何软件包可以在系统上启用这些内核模块,或者是我缺少的其他东西?
答案1
检查 Alpine 的库存内核是否正确后配置包括对 tun/tap 的支持,我发现它CONFIG_TUN
作为一个模块包含在内,所以运行modprobe tun
解决了问题