Могу ли я иметь NginX на хосте и несколько версий PHP в Docker-контейнерах - PullRequest
0 голосов
/ 29 марта 2019

Я нашел похожий вопрос здесь , но он не совсем ответил на мой вопрос.

Я всегда устанавливал свой стек локально для разработки, NginX, PHP7, MySQL и Couchbase,Никаких проблем.

Теперь мне нужно работать над проектом, который требует более низкую версию PHP ... И моей команде тоже придется работать над этим, поэтому я обратился к Docker, чтобы попытаться найтирешение.

В моих существующих файлах конфигурации NGINX я отправляю запросы на php-fpm следующим образом

   location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  
        $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_ignore_client_abort on;
        fastcgi_param  SERVER_NAME $http_host;
    }

См. строку

fastcgi_pass   127.0.0.1:9000;

?

Я надеялся, что смогу создать докер-контейнер, работающий с определенной версией PHP, и записать его в блок сервера, как указано выше, но с

fastcgi_pass   172.17.0.1:9000;

, где 172.17.0.1 - это IP-адресКонтейнер.

Я использовал, очень просто,

FROM php:7.1-fpm
EXPOSE 9000

В качестве моего dockerfile.Я могу создать образ, запустить контейнер, запустить bash в контейнере и увидеть, что PHP -I и PHP -v возвращают то, что я ожидаю.

Запуск проверки docker дал мне два IP-адреса, 172.17.0.1,и 172.17.0.2 (я пробовал оба в приведенном выше примере)

Однако эта настройка не работает - когда я пытаюсь зайти на сайт в браузере, я получаю ошибку тайм-аута шлюза NGINX 504.

Я догадываюсь, что мне чего-то не хватает, но не уверен, что именно.

С удовольствием использую docker compose, если мне нужно, с удовольствием монтирую тома в контейнер, если мне нужно.Просто не уверен, что мне нужно! :) 1033 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...