【发布时间】:2021-11-23 19:31:47
【问题描述】:
我刚刚使用 docker 在我的 RPi3 上设置了 buildroot。它可以正常启动并且 docker 也可以工作,但是当我尝试运行需要打开端口的容器(例如 portainer)时,它会失败并显示
docker: Error response from daemon: driver failed programming external connectivity on endpoint portainer (b6130d6ee0d30f867ff0e99349db1567389b18e9f42ca35718e0a5aefcb3976d): Error starting userland proxy: listen tcp [::]:9443: bind: address already in use.
无论我尝试哪个端口,它总是失败。
执行netstat | grep 9443 不会给出任何输出,这应该意味着没有其他进程在使用此端口。
关于如何解决此问题的任何建议?
编辑 1:我的 buildroot 版本是 2021.08-rc3,我的配置可以在这个 pastebin 中找到 https://pastebin.com/ttWZ6PpY
我正在尝试是否在 buildroot 2021.08 上发生同样的事情。
编辑 2:我切换到 buildroot 2021.08 并尽可能少地更改,所以只有 make raspberrypi3_64_defconfig,更改为 glibc 作为 C 库,启用 docker-cli、docker-compose、docker-engine、ntp(使用 ntpd)和openssh 以及将时区、rootpassword 和文件系统映像大小设置为 512M,然后刷新映像并扩展根分区。启动后,我直接在单元测试中使用docker run --rm -p 8888:8888 busybox:latest /bin/true 启动了一个最小容器,但我仍然得到同样的错误。
新配置可以在这里找到:https://pastebin.com/hrTKf26B
编辑 3:我也尝试了 32 位版本(开头是 make raspberrypi3_defconfig),但在尝试启动 docker 容器时会导致同样的错误。
编辑 4:我还尝试返回 buildroot LTS (2021.02.5) 并安装 dbus,但都没有帮助。
【问题讨论】:
-
如果有帮助:Docker 版本是 20.10.7
-
运行
docker ps -a查看是否有任何已退出的容器 -
不,没有
-
请提供更多详细信息,例如什么 Buildroot 版本,您的 Buildroot 配置是什么,您是否进行了任何本地更改?我们对 docker / docker-compose 进行了单元测试,所以如果这不起作用,那将是令人惊讶的:git.buildroot.net/buildroot/tree/support/testing/tests/package/…
-
请提供足够的代码,以便其他人更好地理解或重现问题。
标签: docker raspberry-pi3 buildroot