phpMyAdmin как PHP -FPM контейнер - PullRequest
       19

phpMyAdmin как PHP -FPM контейнер

0 голосов
/ 18 января 2020

У меня есть два контейнера:

  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, как я могу "передавать" запросы в PhpMyAdmin через порт 9000? Я пробовал:

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

Но это явно не работает ... не могли бы вы указать мне правильное направление? Спасибо.

1 Ответ

0 голосов
/ 19 января 2020

При использовании docker -compose он автоматически создает сеть для всех контейнеров, чтобы они могли общаться друг с другом. Каждый контейнер может быть разрешен с использованием его имени в docker -композиционном файле, в вашем файле используются следующие имена: nginx и pma.

Это означает, что pma следует использовать при поиске для fpm (fastcgi_pass):

 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...