Instalar MySQL con contenedores de Docker
Last updated
Last updated
mysql
Iniciar una instancia MySQL es simple:
Donde some-mysql
está el nombre que se le va a asignar al contenedor, my-secret-pw
es la contraseña que se establecerá para el usuario root de MySQL y tag
es la etiqueta que especifica la versión de MySQL que se desea.
El siguiente comando inicia otra instancia de contenedor mysql
y ejecuta el mysql
cliente de línea de comandos en el contenedor original mysql
, lo que le permite ejecutar instrucciones SQL en su instancia de base de datos:
Donde some-mysql
está el nombre del contenedor original mysql
(conectado a la some-network
red Docker).
Esta imagen también se puede utilizar como cliente para instancias remotas o que no sean de Docker:
Ejemplo docker-compose.yml
para mysql
:
Ejecutar docker stack deploy -c stack.yml mysql
(o docker-compose -f stack.yml up
), esperar a que se inicialice por completo y visitar http://swarm-ip:8080
, http://localhost:8080
o http://host-ip:8080
(según corresponda).
El comando docker exec
permite ejecutar comandos dentro de un contenedor de Docker. La siguiente línea de comando dará un shell bash dentro del contenedor mysql
:
El registro está disponible a través del registro del contenedor de Docker:
La configuración predeterminada para MySQL se puede encontrar en /etc/mysql/my.cnf
, que puede tener !includedir
directorios adicionales como /etc/mysql/conf.d
o /etc/mysql/mysql.conf.d
. Inspeccionar los archivos y directorios relevantes dentro de la imagen mysql
para obtener más detalles.
Si /my/custom/config-file.cnf
es la ruta y el nombre de su archivo de configuración personalizado, puede iniciar su contenedor mysql
de esta manera (tomar en cuenta que en este comando solo se usa la ruta del directorio del archivo de configuración personalizado):
Esto iniciará un nuevo contenedor some-mysql
donde la instancia de MySQL usa la configuración de inicio combinada de /etc/mysql/my.cnf
y /etc/mysql/conf.d/config-file.cnf
, con la configuración de este último teniendo prioridad.
cnf
archivoMuchas opciones de configuración se pueden pasar como banderas a mysqld
. Esto dará la flexibilidad de personalizar el contenedor sin necesidad de un cnf
archivo. Por ejemplo, si se quiere cambiar la codificación y la intercalación predeterminadas para que todas las tablas usen UTF-8 ( utf8mb4
), simplemente ejecutar lo siguiente:
Si se quiere ver una lista completa de las opciones disponibles, simplemente ejecute: