运行 Laravel docker 公开端口的图像 -p

Run Laravel docker image with exposing ports -p

我有一个 laravel 应用程序,但我无法使用 docker 运行 命令创建它 运行。最后两条指令是

EXPOSE 9000
CMD ["php", "artisan", "serve","--port=9000"]

我正在尝试运行尝试:

docker run -p 9000:9000 my_image:latest
docker run --net="host" -p 9000:9000 my_image:latest
docker run --net="bridge" -p 9000:9000 my_image:latest

我只看到了经典的laravel输出

Laravel development server started: <http://127.0.0.1:9000>

我错过了什么?

问题是127.0.0.1:9000,即服务器绑定到容器内的本地主机,而不是监听外部接口。解决方案是使用 --host 0.0.0.0 参数,它将服务器绑定到所有可用接口。

CMD ["php", "artisan", "serve", "--host", "0.0.0.0", "--port=9000"]