Estoy creando el contenedor docker mysql usando el archivo docker-compose a continuación. El servicio se creó con éxito, pero cuando intento ingresar dentro del contenedor, aparece el siguiente error ERROR 1045 (28000): acceso denegado para el usuario 'root' @ 'localhost' (con contraseña: NO)
docker container exec -it 966 /bin/bash root@96607883960b:/# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) root@96607883960b:/# version: '3.3' services: db: image: mysql:5.7.29 container_name: mysql deploy: replicas: 1 restart_policy: condition: on-failure environment: - MYSQL_USER="testpass" - MYSQL_PASSWORD="testpass" - MYSQL_ROOT_PASSWORD="testpass" ports: - 33060:3306 volumes: - /Users/hello/Work/Volumes/wavolumes/mysql:/var/lib/mysqlencontré muchos artículos que no ayudaron a resolver este problema
¿alguien tiene la solución para este problema?
Su conexión realmente funciona y puede verificarla ejecutando lo siguiente (¡el servicio ya debería estar ejecutándose!):
docker-compose exec db sh -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD}'El problema es que estás usando la contraseña incorrecta.
Puede ver su problema muy fácilmente ejecutando docker-compose config . Verá en el resultado que las comillas dobles se incluyen como parte de los valores.
Esta versión debería resolver su problema:
version: '3.3' services: db: image: mysql:5.7.29 container_name: mysql deploy: replicas: 1 restart_policy: condition: on-failure environment: - MYSQL_USER=testpass - MYSQL_PASSWORD=testpass - MYSQL_ROOT_PASSWORD=testpass ports: - 33060:3306 volumes: - /Users/hello/Work/Volumes/wavolumes/mysql:/var/lib/mysql