Как запустить миграцию у yii2 в докере?

Конфигурация
version: '3'

services:
  webserver:
    container_name: apache-php_kfnp_yii2
    build:
      context: .
      dockerfile: ./docker/Dockerfile
    environment:
      XDEBUG_CONFIG: remote_host=host.docker.internal
      PHP_IDE_CONFIG: serverName=localhost
    ports:
    - 80:80
    volumes:
    - ./:/var/www
    links:
    - db
    depends_on:
    - db

  db:
    container_name: mysql_kfnp_yii2
    image: percona:latest
    command: --default-authentication-plugin=mysql_native_password
    restart: on-failure
    ports:
    - 3306:3306
    expose:
      - 3306
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: yii2basic
      MYSQL_USER: mysqluser
      MYSQL_PASSWORD: mysqluser

Но пробую запустить докер на внедрение миграции docker-compose exec apache-php_kfnp_yii2 php yii
Но пишет No such service: apache-php_kfnp_yii2
Хотя контейнер работает
И могу в него войти docker exec -it apache-php_kfnp_yii2 bash
Не понял совсем как запустить миграцию в проекте
Если запускать миграцию внутри контейнера то получаю ошибку
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory'

in /Users/user/Sites/app/vendor/yiisoft/yii2/db/Connection.php:632
  • Вопрос задан
  • 694 просмотра
Решения вопроса 1
docker exec -it apache-php_kfnp_yii2 bash -c "cd /var/www && php yii mgrate"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@grinat
В вебсервер укажи working_dir: /var/www
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы