Tôi xây dựng 2 dockers, một docker với apache, một docker với php5, và tôi sử dụng docker-compose để bắt đầu.php docker liên kết apache docker
apache2 Dockerfile trong 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"]
và test.php:
<?php
phpinfo();
?>
php5 Dorckerfile trong php thư mục:
FROM debian:latest
RUN apt-get update && apt-get install -y php5
Docker-compose.yml:
apache:
build: ./apache2
container_name: apache
ports:
- "80:80"
links:
- "php5"
php5:
build: ./php
container_name: php
sau đó tôi chạy: máy chủ
docker-compose up
apache2 bắt đầu thành công. Sau đó, tôi truy cập vào máy chủ này bằng cách http://server_ip, sau đó tôi nhận được chỉ số của debian.But khi tôi truy cập http://server_ip/test.php, chỉ xảy ra này:
<?php
phpinfo();
?>
php chỉ không work.And Tôi không lý do tại sao.
php và apache hiện đang sống trong hai container khác nhau và chỉ có thể tương tác với nhau thông qua các cuộc gọi web/liên kết/trao đổi dữ liệu nhưng không phải chỉ bằng cách gọi điện cho nhau. Bạn có thể muốn xây dựng một thùng chứa php5/apache kết hợp và chắc chắn rằng bạn sử dụng mô-đun php5. –
@WolfgangFahl ý của bạn là "tương tác với nhau thông qua cuộc gọi/liên kết/trao đổi dữ liệu trên web"? Tôi không thể hiểu được. – xina1i
Bạn có thể sử dụng các thùng chứa riêng biệt cho apache và php nhưng bạn cần sử dụng 'php-fpm' chạy trên một số cổng và sau đó bạn cần cấu hình' php-fpm' trong tệp cấu hình apache của bạn. –