简体   繁体   English

phpMyAdmin 作为 PHP-FPM 容器

[英]phpMyAdmin as PHP-FPM container

I've these two containers:我有这两个容器:

  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/'

In site.conf, how can I "pass" requests to PhpMyAdmin on port 9000?在 site.conf 中,如何在端口 9000 上将请求“传递”给 PhpMyAdmin? I've tried:我试过了:

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;
    }
}

But this is clearly not working...could you please point me in the right direction?但这显然不起作用......你能指出我正确的方向吗? Thanks.谢谢。

When using docker-compose it automatically creates a network for all containers so they can communicate with each other.当使用 docker-compose 时,它​​会自动为所有容器创建一个网络,以便它们可以相互通信。 Each container can be resolved using it's name in the docker-compose file, the following names are used in your file: nginx and pma .可以使用 docker-compose 文件中的名称解析每个容器,您的文件中使用以下名称: nginxpma

This means pma should be used when searching for the fpm(fastcgi_pass):这意味着在搜索 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM