$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw-dmysql:tag
Donde some-mysql está el nombre que se le va a asignar al contenedor, my-secret-pwes 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:
$ docker run -it --network some-network --rm mysql mysql -hsome-mysql -uexample-user -p
Donde some-mysql está el nombre del contenedor original mysql (conectado a la some-networkred Docker).
# Use root/example as user/password credentialsversion:'3.1'services:db:image:mysql # NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password # (this is just an example, not intended to be a production configuration)command:--default-authentication-plugin=mysql_native_passwordrestart:alwaysenvironment:MYSQL_ROOT_PASSWORD:exampleadminer:image:adminerrestart:alwaysports:-8080:8080
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:8080o http://host-ip:8080(según corresponda).
Acceso al shell del contenedor y visualización de registros de MySQL
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:
Usando un archivo de configuración de MySQL personalizado
La configuración predeterminada para MySQL se puede encontrar en /etc/mysql/my.cnf, que puede tener !includedir directorios adicionales como /etc/mysql/conf.do /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.cnfy /etc/mysql/conf.d/config-file.cnf, con la configuración de este último teniendo prioridad.
Configuración sin cnfarchivo
Muchas 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: