[英]phpMyAdmin as PHP-FPM container
我有這兩個容器:
nginx:
image: nginx:1.17.4-alpine
container_name: nginx
ports:
- '80:80'
- '443:443'
volumes:
- './certs:/etc/nginx/certs'
- './site.conf:/etc/nginx/conf.d/site.conf'
pma:
image: phpmyadmin/phpmyadmin:4.9-fpm
container_name: pma
environment:
- PMA_ARBITRARY=1
- 'PMA_ABSOLUTE_URI=https://pma.local/'
在 site.conf 中,如何在端口 9000 上將請求“傳遞”給 PhpMyAdmin? 我試過了:
server {
listen 443 ssl;
server_name pma.local;
ssl_certificate /etc/nginx/certs/pma.local.crt;
ssl_certificate_key /etc/nginx/certs/pma.local.key;
location / {
proxy_pass https://pma.local:9000;
}
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 SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
但這顯然不起作用......你能指出我正確的方向嗎? 謝謝。
當使用 docker-compose 時,它會自動為所有容器創建一個網絡,以便它們可以相互通信。 可以使用 docker-compose 文件中的名稱解析每個容器,您的文件中使用以下名稱: nginx
和pma
。
這意味着在搜索 fpm(fastcgi_pass) 時應該使用pma
:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass pma:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.