我有这个docker-compose文件:
version: '2'
services:
web:
build: .
container_name: Fila
ports:
- 8000:8000
- 9000:9000
这个dockerfile:
FROM phpdockerio/php73-fpm:latest
WORKDIR /var/www
COPY . /var/www/atendimento
WORKDIR /var/www/atendimento
RUN composer install
RUN mv .env.example .env
#RUN node index.js &
RUN php artisan key:generate
CMD [ "php", "artisan", "serve" ]
运行“ docker-compose up”并正确执行后,
当我尝试在导航器上的主机中访问localhost:8000时,我得到“连接已重置”
在docker内部,我使用“ wget localhost:8000”进行测试,并获取正确的站点。 但在主机号
有人可以帮助我吗?
答案 0 :(得分:1)
您需要使用--host标志在aritsan命令上将主机绑定到0.0.0.0。
CMD [ "php", "artisan", "serve", "--host", "0.0.0.0"]
为什么没有用?
在不设置主机的情况下,artisan会将服务器绑定到容器localhost。容器localhost和您的计算机localhost不同。
设置0.0.0.0会将服务器绑定到所有接口,包括使其可以在localhost:8000使用的主机接口。
答案 1 :(得分:0)
我认为您的Dockerfile应该添加EXPOSE
让我们在Dockerfile中添加以下行:
EXPOSE 8000 9000