Проблема с командой exec в контейнере mariadb

#docker #mariadb

#docker #mariadb

Вопрос:

Я хочу получить доступ к БД напрямую через командную строку.

Я запускаю команду:

 docker exec -it container_name -u user_name -p
  

Вместо строки с запросом пароля пользователя я получаю следующее сообщение об ошибке:

 OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: "-u": executable file not found in $PATH": unknown
  

Я пробовал несколько других команд того же типа:

 docker exec -it container_name -u -p
docker exec -it container_name -u user_name 
docker exec -it container_name -u root
  

Я использую не файл Dockerfile, а изображение напрямую :

 version: '3'
services:
  frontend:
      build: ./frontend
      volumes:
          - ./frontend/:/app
      ports:
          - ${PORT_FRONTEND}:${PORT_FRONTEND}
      container_name: dev_frontend
  database:
      image: mariadb
      environment:
          - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
          - MYSQL_DATABASE=${MYSQL_DATABASE}
          - MYSQL_USER=${MYSQL_USER}
          - MYSQL_PASSWORD=${MYSQL_PASSWORD}
          - ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}
      ports:
          - "${PORT_MARIADB}:${PORT_MARIADB}"
      volumes:
          - ./volumes/database/:/var/lib/mysql:rw
      container_name: dev_mariadb
  

Я использую файл .env для хранения разумных данных вместо размещения их в docker-compose.yml

Если у кого-нибудь есть какие-либо идеи о том, как продолжить поиск проблемы, я был бы благодарен.

Спасибо!

Ответ №1:

Просто исправьте приведенную выше команду с помощью :

 docker exec -it container_name mysql -u{username} -p{userpassword}