Docker中的PHP:警告:socket_bind():无法绑定地址[98]:/var/www/html/websocket/server.php第28行中已在使用的地址

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

我正在使用PHP7的官方映像,我的docker start命令:docker run -p 9000:9000 --name php -v $site_path:/var/www/html/ --privileged=true -d php:php72

$site_path是保存我的PHP代码的目录,然后我进入docker容器,使用php server.php然后得到上面的警告。

[我也试图在没有9000端口的情况下运行脚本,例如9001,但脚本可以工作,但是我无法使用我的JS连接到服务器

l尝试在我的本地环境中使用php server.php(不在docker中使用),并且它起作用了,JS也成功地连接了它。

php docker php-7 php-socket
1个回答
0
投票

您的端口9000和9001已被运行容器或本地软件阻止。

docker ps向您显示所有正在运行的容器及其阻塞的端口。如果不需要,请使用docker rm [-f] <name>移除这些容器。如果在Linux上,则可以通过查看netstat -lnp来检查端口9000/9001上本地还在运行什么。也停止进程。

[请注意,如果要在主机上尝试新的目标端口,则无需更改容器中的端口。您也可以执行以下操作:-p9002:9000,如果要通过本地主机上的端口9002访问服务。

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