Soy un novato en la ventana acoplable y me encuentro con un error extraño.
cuando corro
docker run --name some-mysql-5 -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret mysql:latest
seguido por
docker exec -ti containerid bash mysql -uroot -psecretmysql funciona bien y puedo crear y llenar bases de datos.
Pero cuando trato de crear un volumen de host persistente para crear una base de datos compartida como esta:
docker run --name some-mysql-4 -v C:\Users\User\Desktop\shared_vol_test:/var/lib/mysql/data -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret mysql:latest
seguido por
docker exec -ti containerid bash mysql -uroot -psecretObtuve el siguiente error
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)También intenté ejecutarlo como administrador, pero los resultados son los mismos.
¿Qué estoy haciendo mal?
¿Estoy creando un volumen compartido y persistente de la manera correcta?
/var/run/mysqld no es un sistema de archivos compartido entre contenedores. Use el puerto tcp 3306 para conectarse entre contenedores o comparta /var/run/mysqld
Encontré una solución al crear el volumen en esta carpeta var/lib/mysql en lugar de var/lib/mysql/data
He seguido los primeros pasos de esta guía y funcionó por ahora.
Digo por ahora porque cuando traté de ejecutar mysql -uuser -ppass la primera vez no funcionó al denegarme el acceso y después de un tiempo funcionó con las mismas credenciales y el mismo comando para poder crear una base de datos. La base de datos ahora está presente en el directorio de destino de mi host, por lo que tal vez haya encontrado una solución a mi problema. Aquí se menciona algo sobre el tiempo de mysql para estar listo, todavía hay muchos comportamientos que debo entender, supongo.
El nombre de mi cuenta lo dice todo :( :)