У меня есть следующее DOCKERFILE
:
FROM php
RUN apt-get update && apt-get install -y git
RUN git clone https://github.com/marcosh/webinthemiddle.git
EXPOSE 80
CMD php -S localhost:80 webinthemiddle/index.php
что я хотел бы использовать для создания очень простого приложения с php.
Я строю образ, используя sudo docker build -t marcosh/webinthemiddle .
а затем я попытался запустить контейнер с помощью
sudo docker run -d -P marcosh/webinthemiddle
или же
sudo docker run -d -P marcosh/webinthemiddle php -S localhost:80 webinthemiddle/index.php
Затем я проверил с sudo docker ps
на какой порт был назначен порт 80 контейнера и браузера localhost:#PORT#
но я там ничего не нашел …
Что я делаю неправильно?
Для отладки вам помогут две вещи:
-i
а также -t
соответственно). Ваша команда будет что-то вроде sudo docker run -i -t -P marcosh/webinthemiddle php -S localhost:80 webinthemiddle/index.php
,localhost
локально для контейнера (не для вашего хоста). Поскольку контейнер только слушает localhost
запросы с других IP-адресов (например, вашего хоста) не попадут в сокет. Вы хотите слушать 0.0.0.0:80
,Других решений пока нет …