Hola gente del futuro.
En el artículo Docker, primeros pasos creamos un contenedor a partir de la imagen hello-world, hoy nos adentraremos un poco más creando un contenedor de MySQL.
El comando que hace el trabajo es el siguiente:
1docker run -d -p 33061:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=secret mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
Analicemos el comando:
docker run
corre/crea un contenedor.
-d
indica que el contenedor permanecerá corriendo en segundo plano.
-p 33061:3306
conecta el puerto 33061 de nuestro sistema operativo con el puerto 3306 del contenedor.
--name mysql57
le da un nombre personalizado al contenedor.
-e MYSQL\_ROOT\_PASSWORD=secret
asigna la contraseña "secret" al usuario "root" de MySQL, -e
sirve para configurar variables de entorno.
mysql:5.7
indica la imagen a partir de la cual se va a crear el contenedor, después de los dos puntos se indica la versión específica de la imagen.
--character-set-server=utf8mb4
es una configuración específica de mysql, será la codificación de caracteres por defecto cuando creemos bases de datos.
--collection-server=utf8mb4\_unicode\_ci
le dice a mysql que use utf8mb4
en las colecciones de datos.
Una vez ejecutado el comando, tendremos corriendo un servidor de MySQL.
Para conectarnos al servidor usando el proprio docker:
1docker exec -it mysql57 mysql -uroot -p
Ingresamos la contraseña del usuario root, en nuestro ejemplo "secret" y ya estamos dentro de mysql para gestionar nuestras bases de datos.
Si queremos usar nuestro cliente MySQL preferido, por ejemplo Sequel Pro, los datos que usaremos para conectarnos son:
- Host: 127.0.0.1
- User: root
- Password: secret
- Puerto: 33061
Eso es todo por ahora futuro desarrollador que usará docker en sus proyectos, nos leemos en el siguiente artículo.
P.D. Si eres de los que prefieren ver las cosas en video aquí te dejo la grabación de la transmisión en vivo en la que hablamos sobre el tema: