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

时间:2019-05-05 12:12:25

标签: php docker php-7 php-socket

我正在使用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尝试在我的本地环境(不在docker中)上使用php server.php并成功,JS也成功连接了它。

1 个答案:

答案 0 :(得分:0)

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

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

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