Próbuję uruchomić wbudowany serwer php (php -S localhost:8080
) przez okno dokowane, nie mogę jednak uzyskać dostępu do witryny z hosta - zawsze kończę z resetowaniem połączenia.Docker z wbudowanym serwerem php
Oto prosty Dockerfile buduję na:
FROM centos:centos6
RUN rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
RUN yum --enablerepo=remi,remi-php55 install -y php php-opcache php-cli php-pear php-common && yum clean all
RUN php -r "readfile('https://getcomposer.org/installer');" | php
RUN echo "date.timezone = Europe/Prague" >> /etc/php.ini
RUN mv composer.phar /usr/bin/composer
RUN php -r "eval('?>'.file_get_contents('http://backend.bolt80.com/piecrust/install'));"
RUN mv piecrust.phar /usr/bin/chef
CMD ["/bin/bash"]
Czy to w ogóle możliwe, aby uruchomić ten serwer z docker? Próbując sprawić, żeby to działało, dowiedziałem się, że gdy nginx został zainstalowany i skonfigurowany do nasłuchiwania na tym samym porcie, jest dostępny z hosta. Wbudowany serwer PHP wydaje się być ukryty przed hostem, więc nie jest w stanie obsłużyć żadnych żądań.
Ktoś odniósł sukces, wykonując tę pracę?
Jak ty rozpoczęciem pojemnik? – Behe
'docker run -it -p 8080: 8080 container/bin/bash' a następnie ręcznie uruchom serwer z' php -S localhost: 8080' w żądanym katalogu –
Pamiętaj, że wewnętrzny serwer sieci Web PHP działa jednowątkowo i nie jest tworzony dla każdego środowiska produkcyjnego! – Paul