簡體   English   中英

在Docker Apache中使用PHP

[英]Use Php in Docker Apache

我正在嘗試使用docker,但存在很多問題。 現在我想使用一個Apache容器並使用我的PHP卷

我的圖像是

  • nimmis /阿帕奇
  • 5.6-FPM

我的docker ps是:

85e592d46fcc        nimmis/apache       "/my_init"               3 minutes ago       Up 3 minutes        0.0.0.0:8080->80/tcp   apacheBarno
c9bc486563bc        php:fpm             "php-fpm"                15 minutes ago      Up 15 minutes       9000/tcp               app_php

我用這個命令開始了我的apache

docker run --name apacheFoo --volumes-from app_php -p 8080:80 -v `pwd`:/var/www/html --rm nimmis/apache

當我訪問http://192.168.99.100:8080/ (在Mac上為im)時,我可以看到apache頁面。

當我訪問http://192.168.99.100:8080/index.php我得到<?php echo "hello" ?>

而不是“你好”

出現這種情況的原因是,您使用的apache映像( https://hub.docker.com/r/nimmis/apache/ ,對嗎?)是沒有php支持的普通apache。 因此,它只是將您的php代碼用作純文本。

在這種情況下,您不需要兩個圖像。 相反,您需要一個使用php模塊運行Apache的映像。 您可以使用官方的php映像( https://hub.docker.com/_/php/ )。

您的Docker文件如下所示:

```
# see https://hub.docker.com/_/php/
FROM php:5.6-apache

# copy your source into the /var/www/html inside the container
COPY . /var/www/html/
```

現在您可以像這樣構建和運行它

```
docker build -t apache-foo-docker .
docker run -d -p 8080:80 -v $(pwd):/var/www/html --name apacheFoo apache-foo-docker
```

我猜您正在嘗試使用通用的Apache映像來提供PHP。 PHP頁面應在服務器端進行解釋,這是您的情況。 這意味着apache(及其容器)應已配置並啟用PHP。 也許您可以改用https://hub.docker.com/r/nimmis/apache-php5/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM