MariaDB es un servidor de bases de datos gratuito que proporciona acceso a los datos mediante un lenguaje de consulta estructurado (SQL). Ofrece funciones de seguridad como contraseñas, control de acceso basado en roles y mucho más para proteger tus datos.

Para desplegar MariaDB y conceder acceso a los datos a tus usuarios, necesitas alojar el servidor de bases de datos. Puedes optar por un proveedor en la nube o utilizar servicios de alojamiento gestionados o compartidos.

Este artículo te enseñará cómo ejecutar MariaDB utilizando un contenedor Docker, configurar y ejecutar el servidor de la base de datos, y conectarlo a un sitio web de WordPress.

¿Qué es Docker?

Docker es una herramienta gratuita para desarrolladores que te permite ejecutar aplicaciones en un entorno controlado llamado contenedor. Los contenedores tienen el código de la aplicación, las dependencias y las herramientas críticas del sistema para ejecutar tu aplicación. Esto te permite ofrecer aplicaciones robustas a lo largo del ciclo de vida del desarrollo de software.

Normalmente, los contenedores utilizan tu sistema operativo como host. Esto significa que el kernel de la máquina host proporciona acceso a recursos como las CPUs, la memoria y el sistema de archivos. Como resultado, esto no requiere la virtualización tradicional como las máquinas virtuales. Hay varias ventajas de usar Docker para ejecutar una instancia de MariaDB:

  • Tiene una huella digital pequeña, lo que garantiza un uso eficiente de los recursos del sistema.
  • Es consistente, lo que permite a los desarrolladores ejecutar aplicaciones en producción y en pruebas con cambios mínimos.
  • Proporciona un mecanismo flexible para compartir recursos.
  • Es escalable — puedes ejecutar muchos contenedores en un solo host.

Cómo Desplegar MariaDB con Docker

En esta sección, crearás entornos en contenedores para ejecutar MariaDB utilizando Docker. Aprenderás sobre la tecnología de contenedores que ofrece Docker. Docker funciona en la mayoría de las versiones de Windows, macOS y distribuciones de Linux. Para poder seguir este tutorial, necesitarás tener Windows 10/11, Ubuntu 20.04 o una máquina con macOS X.

1. Instalar Docker

Una de las mejores características de Docker es su portabilidad. Utiliza el sistema operativo del host, lo que lo hace ideal para entornos de prueba y publicación. Esta sección te enseñará como instalar Docker en los tres sistemas operativos.

Ubuntu 20.04

Primero, actualiza la lista de paquetes de Ubuntu.

sudo apt-get update

A continuación, permite el acceso a los repositorios online a través de HTTPS.

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Instalación de docker a través del terminal.
A continuación, añade la clave GPG de Docker.

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Ahora, añade el repositorio de Docker.

echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Luego, actualiza los paquetes de Ubuntu para incluir el repositorio de Docker.

sudo apt-get update

Por último, instala el motor Docker.

sudo apt-get install docker-ce

Si utilizas una distribución de Linux diferente, como Debian o Fedora, sigue la documentación oficial para Instalar Docker en Linux.

Windows 10/11

Docker está disponible en Windows 10 u 11 utilizando el Subsistema de Windows para Linux versión 2 (WSL 2) como back end. Sigue los siguientes pasos para instalar Docker.

En primer lugar, activa la función de Plataforma de Máquinas Virtuales en tu sistema Windows. Esto te permite instalar WSL 2 e instalar y ejecutar una instancia virtualizada de Linux en tu máquina Windows.

A continuación, instala WSL.

A continuación, visita la Microsoft Store para descargar Ubuntu 20.04.

Por último, descarga Docker Desktop para Windows. Abre el archivo descargado para iniciar el proceso de instalación.

Tras la instalación, busca «Docker Desktop» en tu barra de tareas y ábrelo.

(Nota: Tendrás que usar PowerShell como terminal para utilizar los comandos de Docker)

macOS X

Docker está disponible en los equipos macOS a través de la App Store de Apple. Hay dos instaladores disponibles que se dirigen tanto a Intel como a los chips de Apple.

Primero, descarga el instalador adecuado desde uno de los enlaces anteriores. A continuación, haz doble clic para abrir el archivo .dmg descargado.

A continuación, arrastra y suelta el icono de Docker en la carpeta de Aplicaciones.

Ahora, abre la aplicación Docker desde la carpeta Aplicaciones y sigue las indicaciones para completar la configuración.

Una vez finalizado el proceso de instalación, haz doble clic en el icono de Docker en la barra de estado de tu escritorio para abrirlo.

Utiliza el terminal por defecto para ejecutar los comandos de Docker.

2. Descarga una Imagen de MariaDB

Una imagen Docker proporciona una colección de comandos y configuraciones para crear un contenedor Docker. Se encarga de instalar todo lo necesario para ejecutar una aplicación. Puedes encontrar la imagen oficial de MariaDB en Docker Hub.

Para descargar la imagen de MariaDB desde Docker Hub, tendrás que utilizar el comando docker pull:

docker pull mariadb

También puedes ver una lista de imágenes Docker descargadas ejecutando lo siguiente:

docker images

Esta es la salida del comando:

Listado de imágenes Docker.
Listado de imágenes Docker.

3. Crear un Contenedor

Un contenedor es una unidad de software con todo el código, las dependencias y las herramientas del sistema necesarias para ejecutar un proceso o programa. Utilizarás la imagen descargada anteriormente para crear un contenedor MariaDB.

docker create mariadb --name mariadb-wp -i –t

Esto crea un contenedor MariaDB llamado mariadb-wp. La bandera –i permite una sesión interactiva, y la opción –t crea una pseudo-terminal. La documentación oficial proporciona información sobre todas las variables disponibles.

4. Ejecutar, Pausar y Detener el Contenedor

Docker ofrece a los desarrolladores la flexibilidad de los entornos configurables. En esta sección, configuraremos el contenedor de MariaDB con variables de entorno para establecer propiedades específicas del sistema para tu contenedor.

MariaDB tiene muchas variables que puedes configurar, como los nombres de la base de datos, las contraseñas y los usuarios de la base de datos. Para obtener una lista más amplia de las variables de entorno admitidas, consulta la documentación de Docker para MariaDB.

docker run -d --name mariadb-wp -p 3306:3306 -v '/path/on/host/:/var/lib/mysql' -e "MARIADB_ROOT_PASSWORD=" -e "MARIADB_DATABASE=wordpress" -e "MARIADB_USER=wordpress" -e "MARIADB_PASSWORD=" mariadb

El comando anterior configura la contraseña de root de MariaDB, el usuario de la base de datos y la contraseña asociada. A continuación, ejecuta MariaDB en el puerto 3306. Puedes decidir interrumpir la ejecución de la aplicación de un contenedor con el siguiente comando:

docker pause mariadb-wp

Por último, también puedes detener la ejecución de una aplicación dentro de un contenedor con el siguiente comando:

docker stop mariadb-wp

5. Conectar la MariaDB en un Contenedor a un Sitio de WordPress

Ahora tenemos que conectar MariaDB a un sitio web externo de WordPress. Puedes obtener más información sobre cómo crear un sitio web de WordPress localmente aquí.

En el directorio root del sitio web de WordPress, abre el archivo wp-config.php en tu editor de código. Localiza la sección de código que define las variables para la base de datos y edítala, como se muestra a continuación. Asegúrate de utilizar el nombre de la base de datos, la contraseña y el número de puerto al crear el contenedor MariaDB.

define('DB_NAME', 'wordpress');

define('DB_USER', 'wordpress’);

define('DB_PASSWORD', '');

define('DB_HOST', 'http://localhost:3306’);

A continuación, tienes que importar un volcado de la base de datos de tu sitio web de WordPress al contenedor MariaDB. Primero, asegúrate de haber exportado la base de datos actual del sitio web. Para saber más, consulta nuestro tutorial de copia de seguridad de la base de datos MySQL.

Después de exportar tu base de datos, instala el volcado de la base de datos dentro del contenedor.

docker exec -i mariadb-wp sh -c 'exec mysql -u root -p "$MARIADB_ROOT_PASSWORD" < /some/path/on/your/host/all-databases.sql'

El comando docker exec permite a los desarrolladores ejecutar comandos shell dentro del contenedor. Importamos una base de datos en MariaDB utilizando un archivo exportado en el comando anterior.

6. Añade una Nueva Entrada a tu Sitio de WordPress

Crearemos una entrada de ejemplo utilizando la cuenta de administrador de WordPress para probar esta integración.

En primer lugar, inicia sesión en WordPress y haz clic en Mensajes > Añadir nuevo. Rellena los datos como se muestra a continuación y haz clic en Publicar. Después de crear la entrada, haz clic en Ver entrada para ver la nueva entrada añadida.

Añadiendo una nueva entrada en el editor Gutenberg de WordPress.
Añadiendo una nueva entrada en el editor de WordPress.

¡Y eso es todo!

7. MariaDB y Docker con DevKinsta

La aplicación gratuita de Kinsta, DevKinsta, permite a los desarrolladores crear sitios de WordPress en contenedores de forma eficiente. La aplicación utiliza Docker para configurar las versiones de PHP, los servidores de bases de datos y los servidores web. La aplicación DevKinsta es compatible con los desarrolladores que utilizan macOS, Windows y Ubuntu/Linux.

Para empezar, descarga, instala e inicia DevKinsta en tu máquina local. La aplicación te da tres opciones: crear un nuevo sitio de WordPress, importar uno existente de Kinsta o crear un sitio personalizado.

La nueva pantalla de creación de sitios de DevKinsta.
Pantalla de creación de un nuevo sitio de DevKinsta.

Crear un nuevo sitio de WordPress es tan fácil como rellenar un sencillo formulario y hacer clic en Crear sitio.

La nueva pantalla de creación de sitios de WordPress de DevKinsta.
Pantalla de creación de un nuevo sitio de WordPress de DevKinsta.

Enhorabuena — ¡ya has creado un sitio web WordPress en un contenedor con DevKinsta!

Resumen

Docker es una herramienta fácil de usar para los desarrolladores para contenerizar software que ejecuta servidores de bases de datos como MariaDB. Sus entornos minimalistas ayudan a mantener la eficiencia de los recursos del sistema sin sacrificar la funcionalidad.

Este tutorial te ha enseñado a instalar Docker, configurar MariaDB y conectar un sitio de WordPress con su base de datos MariaDB en contenedor. Además, has aprendido a utilizar DevKinsta para crear un sitio web de WordPress totalmente en contenedor.

Hay mucho más que explorar con la creación de sitios de WordPress y sus numerosas soluciones de alojamiento. Si quieres descubrir lo fácil que puede ser la gestión de tu sitio, el alojamiento administrado de WordPress de Kinsta te lo permite.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.