Ответы пользователя по тегу Docker
  • Как поднять yii2 на docker?

    @SteepZero
    Почитай про docker-compose

    В проекте создаешь файл docker-compose.yml, там описываешь свои контейнеры
    отдельный контейнер для nginx, отдельный для php-fpm, отдельный для БД
    Настраиваешь для них volumes и т.д.

    Вот пример того, как я делаю для Laravel
    Для Yii все примерно то же самое

    docker-compose.yml:
    version: '3'
    
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./:/var/www/html
          - ./docker/nginx/conf.d:/etc/nginx/conf.d
          - ./docker/nginx/logs:/var/log/nginx/
      php:
        image: php:7.2-fpm
        volumes:
          - ./:/var/www/html
      db:
        image: mysql:latest
        environment:
          MYSQL_DATABASE: labbit
          MYSQL_ROOT_PASSWORD: rootlabbit
          MYSQL_USER: labbit
          MYSQL_PASSWORD: labbit
        ports:
          - 3306:3306
        volumes:
          - db_data:/var/lib/mysql
    
      redis:
        image: redis:latest
    volumes:
      db_data:


    docker/nginx/conf.d/site.conf:
    server {
        listen 80;
        listen [::]:80;
    
        server_name labbit.local www.labbit.local;
    
        root /var/www/html/public/;
        index index.php;
    
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    
        location / {
            root /var/www/html/public/;
            try_files $uri $uri/ /index.php$is_args$args;
            autoindex off;
            index index.php;
        }
    
        location ~ \.php$ {
            set $path_info $fastcgi_path_info;
            root /var/www/html/public/;
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            try_files $uri $uri/;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass php:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }
    Ответ написан
    1 комментарий
  • Как исправить 500 ошибку локального сервера?

    @SteepZero
    Добавь это в свой Dockerfile:
    #pgsql
    RUN apt install -y libpq-dev \
        && docker-php-ext-install pdo_pgsql pgsql
    Ответ написан
    Комментировать