#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}