Задать вопрос
Ответы пользователя по тегу MySQL
  • How docker compose push?

    Erik_Mironov
    @Erik_Mironov
    Старые вопросы: *Dies from cringe*
    1.Использование одного образа для разных сервисов: В вашем файле docker-compose.yml все три сервиса (app, webserver и db) используют один и тот же образ cubinez85/docker_compose/web:latest. Это неправильно, так как каждый из этих сервисов должен иметь свой образ, настроенный для конкретной задачи.

    2.Конфигурация NGINX: Если ваш NGINX не настроен правильно, он не сможет перенаправлять запросы на PHP контейнер. Вам нужно удостовериться, что конфигурация NGINX правильно перенаправляет запросы на fastcgi_pass адрес вашего PHP контейнера.

    3.Настройка PHP-FPM: Убедитесь, что PHP-FPM в вашем app контейнере настроен для прослушивания соединений (обычно это делается с помощью listen = 9000 в файле www.conf).

    Измените docker-compose.yml:
    version: '3.7'
    services:
        app:
            build: ${PWD}/fpm/
            image: cubinez85/docker_compose/app:latest
            container_name: app
            volumes:
                - ${PWD}/code:/data
            networks:
                - app-network
    
        webserver:
            build: ${PWD}/nginx/
            image: cubinez85/docker_compose/nginx:latest
            container_name: webserver
            volumes:
                - ${PWD}/code:/data
            ports:
                - "80:80"
                - "443:443"
            networks:
                - app-network
    
        db:
            image: mysql:latest
            container_name: db
            ports:
                - "3306:3306"
            environment:
                MYSQL_DATABASE: ${MYSQL_DATABASE}
                MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            volumes:
                - ${PWD}/dbdata:/var/lib/mysql
            networks:
                - app-network
    
    networks:
        app-network:
            driver: bridge


    Убедитесь что в nginx.conf есть что-то вроде:
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass app:9000;
        ...
    }

    Здесь app:9000 указывает на ваш PHP контейнер и порт 9000, который слушает PHP-FPM.
    Ответ написан
    7 комментариев