PHP-версия Docker неверна в docker-compose.yml - PullRequest
0 голосов
/ 07 июня 2018

Я новичок в докере.Я установил php контейнер с php версией 7.2, но phpinfo () показывает php версию 7.0.Что я делаю не так?

Мой docker-compose.yml

version: '2'
services:
    mysql:
        image: mysql:5.7
        env_file:
            - ./mysql.env
        volumes:
            - ./storage/mysql:/var/lib/mysql
    web:
        image: nginx:latest
        build: ./fitter
        container_name: web
        ports:
            - 80:80
        volumes:
            - ./fitter:/var/www
            - ./nginx-site.conf:/etc/nginx/conf.d/site.conf
            - ./storage/app:/var/www/storage/app
            - ./storage/logs:/var/www/storage/logss
        links:
            - php
    php:
        image: php:7.2-fpm
        volumes:
            - ./fitter:/var/www

И nginx-site.conf

server {
    index index.php index.html;

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass fitter_docker_php_1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Команда как "docker exec web php-v "показывает" PHP 7.0.15 (cli) (построено: 19 января 2017 21:25:43) (NTS) "

1 Ответ

0 голосов
/ 07 июня 2018

Когда вы запускаете набор служб с помощью docker-compose, он создает сеть Docker и запускает все службы в этой сети, это означает, что все ваши контейнеры в этой сети могут связываться друг с другом, и вы можете использовать имя, которое выопределяется для каждой службы как запись DNS.

Измените это:

fastcgi_pass fitter_docker_php_1: 9000;

На

fastcgi_pass php: 9000;

Кроме того, если вы изменили версию изображения php, вам нужно извлечь новое изображение перед перезапуском стека компоновки, поскольку контейнер необходимо будет воссоздать с новым изображением.

И вы можете удалить «ссылки» из вашего docker compose, так как это не нужно в этом случае, а также унаследованную функцию, вы можете узнать больше об этом здесь: https://docs.docker.com/compose/compose-file/#links

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