GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Tutorial de MySQL Docker Container:cómo instalar y configurar

Introducción

MySQL es un conocido sistema de gestión de bases de datos relacionales de código abierto y una de las soluciones de servidor web más populares. Almacena y estructura los datos de manera significativa, lo que garantiza un fácil acceso.

Docker es un conjunto de productos de plataforma como servicio que admiten el desarrollo de CI/CD. Permite a los usuarios desarrollar e implementar aplicaciones dentro de entornos virtuales, llamados contenedores. Con una sola imagen, Docker puede iniciar una aplicación con todas sus bibliotecas y dependencias.

En este tutorial, aprenda a implementar un contenedor MySQL Docker y comience a trabajar con la base de datos en contenedores.

Requisitos previos

  • Acceso a una línea de comando/ventana de terminal
  • Una cuenta de usuario con sudo privilegios o acceso a la raíz cuenta
  • Una instalación de Docker existente

Ejecución de un contenedor MySQL Docker

Si necesita configurar una base de datos rápidamente y sin utilizar demasiados recursos, desplegar MySQL en un contenedor es una solución rápida y eficiente. Esto solo es apropiado para aplicaciones pequeñas y medianas. Las aplicaciones de nivel empresarial no encontrarían un contenedor MySQL Docker suficiente para su carga de trabajo.

El uso del software Docker para configurar su base de datos se está volviendo cada vez más popular para las aplicaciones a pequeña escala. En lugar de tener un servidor separado para alojar la base de datos, puede implementar un contenedor de base de datos MySQL.

Múltiples contenedores pueden ejecutarse en su computadora. Los contenedores comparten el mismo kernel y bibliotecas del host mientras empaquetan la aplicación o el software implementado en unidades individuales. Esto hace que la base de datos sea extraordinariamente ligera y rápida de poner en marcha.

Instalación de un contenedor MySQL Docker

Configurar una base de datos en Docker es simplemente construir un contenedor basado en una imagen MySQL. Siga los pasos que se describen a continuación para poner en funcionamiento su contenedor MySQL.

Paso 1:extraiga la imagen de MySQL Docker

1. Comience extrayendo la imagen de Docker adecuada para MySQL. Puede descargar una versión específica u optar por la última versión como se ve en el siguiente comando:

sudo docker pull mysql/mysql-server:latest

Si desea una versión particular de MySQL, reemplace latest con el número de versión.

2. Verifique que la imagen ahora esté almacenada localmente enumerando las imágenes de Docker descargadas:

sudo docker images

La salida debe incluir mysql/mysql-server entre las imágenes enumeradas.

Paso 2:implementar el contenedor MySQL

1. Una vez que tenga la imagen, continúe con la implementación de un nuevo contenedor MySQL con:

sudo docker run --name=[container_name] -d [image_tag_name]
  • Reemplazar [container_name] con el nombre de tu elección. Si no proporciona un nombre, Docker genera uno aleatorio.
  • El -d La opción indica a Docker que ejecute el contenedor como un servicio en segundo plano.
  • Reemplazar [image_tag_name] con el nombre de la imagen descargada en el Paso 1.

En este ejemplo, creamos un contenedor llamado mysql_docker con el latest etiqueta de versión:

sudo docker run --name=[container_name] -d mysql/mysql-server:latest

2. Luego, verifique si el contenedor MySQL se está ejecutando:

docker ps

Debería ver el contenedor recién creado en la lista de resultados. Incluye detalles del contenedor, uno de los cuales es el estado de este entorno virtual. El estado cambia de health: starting para healthy , una vez completada la configuración.

Paso 3:Conéctese al contenedor MySQL Docker

1. Antes de que pueda conectar el contenedor del servidor MySQL con el host, debe asegurarse de que el paquete del cliente MySQL esté instalado:

apt-get install mysql-client

2. Luego, abra el archivo de registros para el contenedor de MySQL para encontrar la contraseña raíz generada:

sudo docker logs [container_name]

Para mysql_docker contenedor, ejecutamos:

sudo docker logs mysql_docker

3. Desplácese por el resultado y busque la línea [Entrypoint] GENERATED ROOT PASSWORD :, copie y pegue la contraseña en un bloc de notas o editor de texto para poder usarla más tarde.

4. A continuación, vaya al shell bash del contenedor MySQL escribiendo:

sudo docker exec -it [container_name] bash

Para el contenedor creado como ejemplo, ejecutamos:

sudo docker -it mysql_docker bash

3. Proporcione la contraseña raíz que copió del archivo de registros, cuando se le solicite. Con eso, ha conectado el cliente MySQL al servidor.

4. Finalmente, cambie la contraseña raíz del servidor para proteger su información:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[newpassword]';

Reemplazar [newpassword] con una contraseña segura de su elección.

Configurar contenedor MySQL

Cuando instala un contenedor MySQL, encontrará sus opciones de configuración en /etc/mysql/my.cnf= directorio.

Si necesita modificar la configuración, cree un archivo de configuración alternativo en la máquina host y móntelo dentro del contenedor.

1. Primero, cree un nuevo directorio en la máquina host:

sudo mkdir -p /root/docker/[container_name]/conf.d

2. Cree un archivo de configuración de MySQL personalizado dentro de ese directorio:

sudo nano /root/docker/[container_name]/conf.d/my-custom.cnf

3. Una vez en el archivo, puede agregar líneas con la configuración deseada.

Por ejemplo, si desea aumentar el número máximo de conexiones a 250 (en lugar de las 151 predeterminadas), agregue las siguientes líneas al archivo de configuración:

[mysqld]
max_connections=250

4. Guarde y salga del archivo.

5. Para que se realicen los cambios, debe eliminar y volver a ejecutar el contenedor de MySQL . Esta vez, el contenedor utiliza una combinación de opciones de configuración del archivo recién creado y los archivos de configuración predeterminados.

Para ello, ejecute el contenedor y asigne la ruta del volumen con el comando:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=[my_password]" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
mysql

6. Para verificar si el contenedor cargó la configuración desde el host, ejecute el siguiente comando:

mysql -uroot -pmypassword -h127.0.0.1 -P6603 -e 'show global variables like "max_connections"';

Debería ver que el número máximo de conexiones ahora es 250 .

Administrar almacenamiento de datos

De forma predeterminada, Docker almacena datos en su volumen interno.

Para verificar la ubicación de los volúmenes, use el comando:

sudo docker inspect [container_name]

Verá el /var/lib/mysql montado en el volumen interno.

También puede cambiar la ubicación del directorio de datos y crea uno en el host. Tener un volumen fuera del contenedor permite que otras aplicaciones y herramientas accedan a los volúmenes cuando sea necesario.

1. Primero, encuentre un volumen apropiado en el host y cree un directorio de datos en él:

sudo mkdir -p /storage/docker/mysql-data

2. Ahora inicie el contenedor nuevamente, montando el directorio creado anteriormente:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=my_password" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
--volume=/storage/docker/mysql-data:/var/lib/mysql \
mysql

Si inspecciona el contenedor, debería ver que el contenedor MySQL ahora almacena sus datos en el sistema host. Ejecute el comando:

sudo docker inspect [container_name]

Iniciar, detener y reiniciar contenedor MySQL

El contenedor se detiene automáticamente cuando se detiene el proceso que se ejecuta en él.

Para iniciar el contenedor MySQL ejecutar:

sudo docker start [container_name]

Detener el contenedor de MySQL , usa el comando:

sudo docker stop [container_name]

Para reiniciar el contenedor MySQL ejecutar:

sudo docker restart [container_name]

Eliminar contenedor MySQL

Antes de eliminar un contenedor de MySQL, asegúrese de detenerlo primero.

Luego, elimine el contenedor docker con:

sudo docker rm [container_name]

Ubuntu
  1. Cómo ejecutar MySQL en Docker Container:una guía simple y fácil de seguir

  2. Cómo instalar y configurar mysql 8 en Ubuntu 20.04

  3. Cómo ejecutar MySQL en un contenedor Docker

  4. Cómo usar SSH en un contenedor Docker

  5. Cómo asignar una IP estática a un contenedor Docker

Cómo instalar el contenedor Ubuntu 22.04 LTS en Docker

Cómo instalar y configurar MySQL en Ubuntu 18.04

Cómo ejecutar PHPMyAdmin en un contenedor Docker

Cómo ejecutar Grafana en un contenedor Docker

Cómo configurar Pihole en un contenedor Docker

Cómo configurar un contenedor Apache Docker