Iptables 在运行 docker compose 的 Yocto 映像中失败

问题描述 投票:0回答:1

在 stackoverflow 和其他一些博客中看到几篇帖子后,我仍然无法摆脱一些

iptables
问题。

我使用以下配方创建了一个

Yocto
图像(x86):

require recipes-core/images/core-image-minimal.bb

DESCRIPTION = "My Linux Image."

IMAGE_INSTALL += "\
    docker-ce  \
    python3-docker-compose \
    python3 \
    "

我的环境是

Windows 10
WSL2
,其中
Ubuntu 22.04
QEMU
模拟器一起运行。

我只想使用

docker compose
创建一个简单的 Linux 映像,这样我就可以从
hello-world
运行
docker compose
:

https://docs.docker.com/compose/gettingstarted/

我被阻止了:

Error response from daemon: driver failed programming external connectivity on endpoint docker-compose-hello-world-web-1 (149593c5ce28171b7a379f9a5b896e3a541c6ab89fda6):
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.18.0.3:5000 ! -i br-fc6bc88aac23: 
Warning: Extension DNAT revision 0 not supported, missing kernel module?

我正在从我的

9999
公开端口
docker-compose.yml

我的内核缺少什么模块? 我已经尝试过重新启动 docker 服务、重新启动等,只要你能想到的。 我也尝试添加这些环境变量:

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

我的docker网络是这样的:

root@qemux86-64:~/docker-compose-hello-world# docker network ls
NETWORK ID     NAME                                 DRIVER    SCOPE
e0109904a4f1   bridge                               bridge    local
ee1bf049614b   docker-compose-hello-world_default   bridge    local
1c399dc89e34   host                                 host      local
a3994241998d   none                                 null      local
root@qemux86-64:~/docker-compose-hello-world#

这里可能缺少什么内核模块?

linux docker docker-compose yocto iptables
1个回答
0
投票

我正在使用 yocto 图像并遇到相同的错误...

© www.soinside.com 2019 - 2024. All rights reserved.