मैं डॉकर के माध्यम से PHP निर्मित सर्वर (php -S localhost:8080
) चलाने की कोशिश कर रहा हूं, हालांकि मैं मेजबान से साइट तक नहीं पहुंच सकता - मैं हमेशा कनेक्शन रीसेट के साथ समाप्त होता हूं।php बिल्ट-इन सर्वर के साथ डॉकर
यहाँ एक सरल Dockerfile मैं पर निर्माण:
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"]
तो यह और भी डोकर के साथ इस सर्वर को चलाने के लिए संभव है? इसे काम करने की कोशिश करते समय, मुझे पता चला कि जब nginx स्थापित किया गया था और इस बंदरगाह पर सुनने के लिए सेट किया गया था, यह मेजबान से सुलभ है। PHP अंतर्निर्मित सर्वर होस्ट से छिपा हुआ प्रतीत होता है, इस प्रकार हालांकि किसी भी अनुरोध की सेवा करने में सक्षम नहीं है।
कोई भी इस काम को सफल बनाने में सफल रहा था?
आप अपने कंटेनर कैसे शुरू कर रहे हैं? – Behe
'डॉकर रन-एट -80 8080: 8080 कंटेनर/बिन/बैश' और फिर मैं मैन्युअल रूप से सर्वर को 'php -S localhost: 8080' के साथ वांछित निर्देशिका –
में प्रारंभ करता हूं ध्यान दें कि PHP का आंतरिक वेब सर्वर एकल-थ्रेडेड चलाता है और नहीं बनाया जाता है पर्यावरण जैसे किसी भी उत्पादन के लिए! – Paul