Команды MySQL внутри контейнера Docker

#mysql #docker

#mysql #docker

Вопрос:

У меня есть следующий docker compose:

 version: '3.1'

services:
  db:
    image: mysql:5.5
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=some_root_pw
      - MYSQL_DATABASE=some_db
      - MYSQL_USER=db_user
      - MYSQL_PASSWORD=user_pw
    ports:
      - 8306:3306
    volumes:
      - ./db:/var/lib/mysql/some_db
  

Я обращаюсь к контейнеру с помощью команды:

 docker-compose exec db /bin/sh
  

Который отправляет меня в оболочку, как и ожидалось. Однако я не могу получить доступ к mysql с информацией из файла docker-compose.

 mysql -u root -p
  

Запрашивает пароль, затем отклоняет из-за неправильного имени пользователя или пароля. Я пробовал как с root, так и с user. Есть ли способ устранить неполадки, происходящие с созданием пользователя?

ПРИМЕЧАНИЕ: намеренно более старая версия MySQL.

Комментарии:

1. Не удается воспроизвести с помощью данного docker-compose. Единственное, что я изменил, это удаление volumes раздела.

2. вы правы — эта папка была пуста, но мне это было нужно для сохранения. Как и вы, если я удалю том, я смогу получить доступ к базе данных без проблем. Если вы хотите опубликовать это в качестве ответа, я приму это. Спасибо!

3. Я только что протестировал с образцом подключения тома, и он все еще работает. Итак, должно быть что-то еще, что вызывает вашу проблему.