Докер не выставляет порт
У меня есть этот файл docker-compose:
version: '2'
services:
web:
build: .
container_name: Fila
ports:
- 8000:8000
- 9000:9000
И этот докер-файл:
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 в моем хосте на навигаторе, я получаю "соединение было сброшено"
внутри докера я тестирую с помощью "wget localhost: 8000" и получаю правильный сайт. но в принимающей нет.
Кто-то может помочь мне?
2 ответа
Вам необходимо привязать хост к 0.0.0.0 по команде aritsan с помощью флага --host.
CMD [ "php", "artisan", "serve", "--host", "0.0.0.0"]
Почему это не сработало?
Без настройки хоста artisan свяжет сервер с контейнером localhost. Контейнер localhost и ваша машина localhost отличаются.
Установка 0.0.0.0 свяжет сервер со всеми интерфейсами, включая интерфейс хост-машины, сделав его доступным на localhost:8000.
Я думаю, что ваш Dockerfile должен добавить EXPOSE
Давайте добавим строку ниже в Dockerfile:EXPOSE 8000 9000