2
我正在使用docker構建我的開發環境,這是一個非常簡單的env,我所有的都是nginx和php-fpm。Docker php設置安裝pdo擴展
所以以下碼頭工人碼頭我創建了一個碼頭工人,compose.yml:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./code:/code
- ./site.conf:/etc/nginx/conf.d/site.conf
links:
- php
PHP: 圖像:PHP:7-FPM 卷: - ./code:/code
那麼在這裏發生了什麼,我調用nginx圖像和pgp-fpm圖像並鏈接它們。
我還創建了一個site.conf文件:
server {
index index.php;
server_name php-docker.local;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /code;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
因此,這裏是所有的服務器上的東西。
與此設置我已經成功運行phpinfo()
。當我但是我的應用程序代碼,我得到一個錯誤抱怨pdo pdo_mysql擴展。所以我做了更多的研究,發現我需要一個Dockerfile。
我創建了一個碼頭工人的文件,並和裏面添加了這個命令:
FROM php:7
RUN docker-php-ext-install pdo pdo_mysql
當然,這是不行的,我的意思是哪裏此安裝擴展以及如何做我的PHP-FPM supoose看到這些擴展...?
你有沒有看在Dockerhub的PHP庫中的文檔:https://開頭樞紐.docker.com/_/php /?我已經用apache版本完成了,而不是fpm。使用apache版本,您可以創建一個Dockerfile並安裝任何前置請求和'RUN docker-php-ext-install pdo_mysql'。我假設有一個類似的FPM方法,請參閱自述文件和相應的github回購。 – ldg
運行'docker-compose up -d'之前,你運行過'docker-compose build'嗎? –