Где на самом деле лежит моя бд, которую я развернул в docker-compose?

Решил я поднять MySQL в докере, решил, что делов на пару минут.
Есть такой docker-compose:
version: '3.3'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'db'
      # So you don't have to use root, but you can if you like
      MYSQL_USER: 'user'
      # You can use whatever password you like
      MYSQL_PASSWORD: 'password'
      # Password for root access
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '3306:3306'
    expose:
      # Opens port 3306 on the container
      - '3306'
      # Where our data will be persisted
    volumes:
      - my-db:/var/lib/mysql
# Names our volume
volumes:
  my-db:

Сделал docker-compose up. После чего решил я в Laravel указать в .env файле вот эти конфигурации для БД:
DB_HOST=127.0.0.1
DB_PORT=3306
Когда я делаю php artisan migrate, то оно мне пишет
SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists

Но самая странность, что когда я смотрю в бд, то таблиц в базе данных нет вообще. Как Laravel понимает, что таблица уже есть, если я смотрю через тот же phpmyadmin, и там пустота?
  • Вопрос задан
  • 5480 просмотров
Пригласить эксперта
Ответы на вопрос 3
@q2digger
никого не трогаю, починяю примус
База этого контейнера должна была сохранится в volume: /var/lib/docker/volumes/my-db/_data
Ответ написан
Комментировать
@metajiji
docker volume ls
По умолчанию вольюмы хранятся в
/var/lib/docker/volumes/
Ответ написан
Комментировать
vasilyevmn
@vasilyevmn
DevOps
Не на том интерфейсе открыт порт, быстрее всего повесить на локалхост так:

ports:
- "127.0.0.1:3306:3306"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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