gpt4 book ai didi

docker - 将 docker 容器中的 websocket 客户端连接到主机中的 websocket 服务器

转载 作者:行者123 更新时间:2023-12-02 18:21:14 60 4
gpt4 key购买 nike

我有一个 websocket 服务器在我的主机上运行,​​监听端口 8080。
在 docker 容器中,我部署了一个 websocket 客户端,使用以下代码段监听上述服务器:

connect_url="ws://0.0.0.0:80/"

并且,将容器的端口 80 暴露/映射到主机的端口 8080。

Dockerfile:
EXPOSE 80

当我运行容器时:
docker run -p 8080:80 <name>

但我收到此错误:

docker: Error response from daemon: driver failed programming external connectivity on endpoint : Error starting userland proxy: Bind for 0.0.0.0:8080 failed: port is already allocated.



现在我认为这个错误是因为主机中的服务器已经在使用端口8080,这就是无法映射的原因。

有了这些细节,我只想知道 我的 docker 容器内的 websocket 客户端如何连接到主机中的 websocket 服务器 .

最佳答案

我认为问题是容器内的端口 80 已经在使用,而不是主机上的 8080。尝试使用另一个端口来代替 docker 容器内的连接套接字 80 (例如 777 端口)。然后运行 ​​docker run -p 8080:777 <name>
顺便说一下,检查您的主机端口是否已经在用户中:
sudo lsof -i tcp:8080
如果没有出现,那意味着端口 8080尚未使用。 Incase 已经在使用。在端口 8080 上终止该进程:
sudo kill -9 your_PID_ID
然后再试一次

关于docker - 将 docker 容器中的 websocket 客户端连接到主机中的 websocket 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088822/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com