@Andre548

Почему не могу выполнить миграции в докере?

Всем привет, развернул проект на сервере, все контейнеры работают, но не могу выполнить миграцию
docker-compose
version: '3'
services:
  nginx:
    build:
      context: .
      dockerfile: .docker/api-web.dockerfile
    container_name: speedcut-nginx
    ports:
      - '8876:80'
      - '443:443'
    volumes:
      - './:/var/www/html'
    networks:
      - speedcut-docker

  db:
    image: mysql:5.6
    volumes:
      - .docker/api-db/data-storage/mysql:/var/lib/mysql
    environment:
      - "MYSQL_DATABASE=kt7cennik"
      - "MYSQL_USER=homestead"
      - "MYSQL_PASSWORD=secret"
      - "MYSQL_ROOT_PASSWORD=root"
    container_name: db
    ports:
      - "33061:3306"
    networks:
      - speedcut-docker

  cache:
    build:
      context: .
      dockerfile: .docker/api-cache.dockerfile
    container_name: redis
    ports:
      - "63791:6379"
    networks:
      - speedcut-docker

  app:
    build:
      context: .
      dockerfile: .docker/api-app.dockerfile
    container_name: kt7_app
    working_dir: /var/www/html
    volumes:
      - ./:/var/www/html
      - /tmp/node_modules
      - /var/www/html/node_modules/
    depends_on:
      - db
    networks:
      - speedcut-docker
    environment:
      - "DB_PORT=3306"
      - "DB_HOST=db"
      - "REDIS_PORT=6379"
      - "REDIS_HOST=cache"

networks:
  speedcut-docker:
    driver: bridge


При выполнении мигграции получаю ошибку SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = cennik
and table_name = migrations)

в .env подключение к бд прописал
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=kt7cennik
DB_USERNAME=homestead
DB_PASSWORD=secret
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 2
nefone
@nefone
Junior PHP разработчик
Попробуй выполнить в консоли:
php artisan db
и проверить свое подключение к базе данных.
Так же конфигурацию подключения к БД не только в .env но в config/database.php файле.
Если все хорошо, то возможно проблема с самой миграцией, невозможно найти указанную таблицу "cennik" или базу данных.
Ответ написан
Комментировать
@mxelgin
Не увидел как у вас .env подключается в докере?

db:
......
secrets:
- db-password
secrets:
db-password:
file: ./docker/secrets/.env
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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