Задать вопрос
@KoRNeT46RuS

Как поднять контейнер mysql через wsl?

История такая, что работам с проектом под линуксом. Ради интереса решил попробовать поднять проект на Windows через wsl. Поставил докер и все остальное. Поднимаются все контейнеры кроме mysql
Логи пишут:
2026-03-21T11:05:46.313797Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2026-03-21T11:05:46.314010Z 0 [ERROR] Aborting


Настройки контейнера:
mysql:
    image: mysql:5.7
    restart: always
    command: --sql-mode="" --secure-file-priv=""
    environment:
      MYSQL_ROOT_PASSWORD: '${MYSQL_PASSWORD}'
      MYSQL_DATABASE: keaz
    volumes:
      - ./data/docker-files/mysql-db:/var/lib/mysql
      - ./data/docker-files/mysql-export:/tmp/mysql-export
      - /etc/localtime:/etc/localtime/:ro
    healthcheck:
      test: [ "CMD", "mysqladmin", "ping", "-p${MYSQL_PASSWORD}" ]
      retries: 3
      timeout: 5s
    ports:
      - 3306:3306


Пробовал rm -rf /var/lib/mysql/*
Пробовал ковычки в настройках контейнера.
Пробовал права больше давать на папку.
Нефига не помогает. Если кто сталкивался, подскажите, как решить проблему, я уже честно говоря хз как быть
  • Вопрос задан
  • 326 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
rm -rf /var/lib/mysql/* внутри контейнера тут не поможет, потому что /var/lib/mysql у тебя примонтирован с хоста и для --initialize каталог должен быть полностью пустым. Если данные не нужны, удали именно хостовую папку:
rm -rf ./data/docker-files/mysql-db && mkdir ./data/docker-files/mysql-db
и пересоздай контейнер. На будущее для MySQL под WSL проще использовать именованный volume вместо bind mount — с ними таких проблем нет.
Ответ написан
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Просто поставьте сразу нормальный VirtualBox и не тратьте своё время на решение проблем этого огрызка. Далее ставите полноценный дебиан, а в нём уже одной командой легко ставите mariadb и всё сразу работает без проблем.
sudo apt-get install mariadb-server mariadb-client 

Если так сильно хочется докер — то он точно так же легко ставится и без проблем используется.
Ответ написан
Ваш ответ на вопрос

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

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