我構建了2個docker,一個docker與apache,一個docker與php5,並且我使用docker-compose來啓動。php docker link apache docker
的Apache2 Dockerfile在directoy的Apache2:
FROM debian:latest
RUN apt-get update && apt-get install -y apache2
ADD test.php /var/www/html
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
和test.php的:
<?php
phpinfo();
?>
PHP5 Dorckerfile目錄PHP:
FROM debian:latest
RUN apt-get update && apt-get install -y php5
泊塢窗,compose.yml:
apache:
build: ./apache2
container_name: apache
ports:
- "80:80"
links:
- "php5"
php5:
build: ./php
container_name: php
然後我運行:
docker-compose up
的Apache2服務器啓動成功。然後,我通過http://server_ip訪問此服務器,然後我得到debian.But的指標,當我訪問http://server_ip/test.php,剛剛發生此:
<?php
phpinfo();
?>
PHP只是不work.And我不知道爲什麼。
PHP和Apache現在生活在兩個不同的容器和只能通過網絡通話/鏈接/數據交換與彼此進行交互,而不能通過簡單地互相呼叫進行交互。您可能想要構建一個組合的php5/apache容器,並確保使用php5模塊。 –
@WolfgangFahl你是什麼意思「通過網絡電話/鏈接/數據交換彼此進行交互」?我無法理解。 – xina1i
您可以爲apache和php使用單獨的容器,但是您需要使用在某個端口上運行的'php-fpm',然後您需要在您的apache配置文件中配置'php-fpm'。 –