我的 docker 容器运行一个应用程序,该应用程序需要连接到主机上运行的 websocket 服务器。
Docker 处于无根模式,可在非 sudoer 用户帐户上启动 docker 服务。
我没有找到任何方法从容器 ping 主机...
有什么建议吗?
主机操作系统:ubuntu 20.04 容器操作系统:ubuntu 20.04 码头工人版本:24.0.5
我读了https://docs.docker.com/engine/security/rootless/
添加 -p PORT_ON_HOST:PORT_IN_CONTAINER 不起作用,因为 PORT_ON_HOST 已被 websocket 服务器使用。
目前我使用此解决方法:docker 服务在启动时以 root 身份启动,非 sudoer 用户可以在此 docker 服务上运行容器。但出于安全原因,我真的很想运行一个无根 docker 守护进程。
Docker 26 添加了环境变量 DOCKERD_ROOTLESS_ROOTLESSKIT_DISABLE_HOST_LOOPBACK=false ,它允许无根容器连接到主机上运行的服务: https://docs.docker.com/engine/release-notes/26.0/#new
我仍然没有找到任何方法从无根容器 ping 主机...
但是无根容器成功连接到在 IP 地址 10.0.2.2 标识的主机上运行的 Websocket 服务。