¿Qué te parece usar un server virtual con Ubuntu server desde VirtualBox para crear un laboratorio aislado de WordPress operativo 100% utilizando contendores de Docker? En este post guiarte a través de los pasos para lanzar un contenedor Docker en Ubuntu Server que contenga WordPress para usarlo como laboratorio de pruebas. Aquí te detallo los pasos generales:

Partimos de la base de que tengas creado una máquina virtual usando VirtualBox, por ejemplo. Es muy sencillo, crear el server virtual e instalar Ubuntu server desde la web y una vez arrancado el server seguir los pasos siguientes.

  1. Instalar Docker (si no lo tienes ya instalado):
  • Primero, actualiza tu lista de paquetes:
    sudo apt update
  • Instala algunos paquetes de requisito previo que permitan a apt usar paquetes a través de HTTPS:
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
  • Añade la clave GPG para el repositorio oficial de Docker a tu sistema:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • Añade el repositorio de Docker a las fuentes de APT:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
  • Actualiza tu base de datos de paquetes e instala Docker:
    bash sudo apt update sudo apt install docker-ce
  • Asegúrate de que Docker se esté ejecutando:
    sudo systemctl status docker
  1. Instalar Docker Compose:
  • Descarga la versión más reciente de Docker Compose:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • Aplica permisos ejecutables al binario:
    sudo chmod +x /usr/local/bin/docker-compose
  1. Configurar el contenedor de WordPress:
  • Crea un directorio para tu proyecto:
    mkdir mi_wordpress && cd mi_wordpress
  • Crea un archivo docker-compose.yml en tu directorio:
    version: '3.3'
    services:
    db:
    image: mysql:5.7
    volumes:
    - db_data:/var/lib/mysql
    restart: always
    environment:
    MYSQL_ROOT_PASSWORD: somewordpress
    MYSQL_DATABASE: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: wordpress
    wordpress:
    depends_on:
    - db
    image: wordpress:latest
    ports:
    - "8000:80"
    restart: always
    environment:
    WORDPRESS_DB_HOST: db:3306
    WORDPRESS_DB_USER: wordpress
    WORDPRESS_DB_PASSWORD: wordpress
    WORDPRESS_DB_NAME: wordpress
    volumes:
    db_data: {}
  • En este archivo, se define un servicio para WordPress y otro para MySQL. Se mapea el puerto 8000 de tu host al puerto 80 en el contenedor de WordPress.
  1. Lanzar los contenedores:
  • Desde tu directorio de proyecto (mi_wordpress), ejecuta:
    sudo docker-compose up -d
  • Esto descargará las imágenes necesarias y arrancará los contenedores.
  1. Acceder a WordPress:
  • Una vez que los contenedores estén en ejecución, deberías poder acceder a WordPress yendo a http://<tu_ip_ubuntu>:8000 en tu navegador.
  1. Usar como laboratorio de pruebas:
  • Ahora puedes usar este entorno para experimentar con WordPress, probar temas, plugins, etc. Todos tus cambios estarán aislados dentro del contenedor y puedes reiniciar desde cero simplemente eliminando y recreando los contenedores.

En la consola Ubuntu puedes ver con : sudo docker ps , los dos contendores ejecutandose. Esta es la magia de los contendores, y luego comprobar que accedes al wordpress para inciarlo desde un navegador.

Para detener y reiniciar el contenedor de WordPress que creaste con Docker Compose y asegurarte de que tus cambios (como entradas, temas, etc.) persistan entre reinicios, puedes seguir estos pasos:

Detener los contenedores:

Para detener los contenedores (WordPress y la base de datos MySQL), usa el siguiente comando en el directorio donde se encuentra tu archivo docker-compose.yml:

sudo docker-compose down

Este comando detendrá y eliminará los contenedores, pero no te preocupes, tus datos no se perderán porque están almacenados en volúmenes que Docker Compose ha creado.

Reiniciar los contenedores:

Para reiniciar tus contenedores, simplemente navega nuevamente al directorio de tu proyecto donde se encuentra el archivo docker-compose.yml y ejecuta:

sudo docker-compose up -d

Esto iniciará los contenedores nuevamente. Si no has eliminado los volúmenes de datos manualmente, todos tus cambios previos (temas, plugins, entradas, etc.) deben estar intactos y disponibles nuevamente.

Persistencia de datos:

Docker Compose maneja la persistencia de datos utilizando volúmenes. En el archivo docker-compose.yml que proporcioné anteriormente, se define un volumen llamado db_data para la base de datos MySQL:

volumes:
  db_data: {}

Este volumen almacena los datos de la base de datos fuera del ciclo de vida del contenedor. Esto significa que incluso si detienes y eliminas el contenedor de la base de datos, los datos en sí mismos no se pierden y estarán disponibles la próxima vez que inicies el contenedor. Lo mismo ocurre con los archivos y configuraciones de WordPress, que se almacenan dentro del contenedor de WordPress pero referenciados al volumen, lo que permite su persistencia.

Notas adicionales:

  • Backup y restauración: Aunque tus datos están persistentes, siempre es una buena práctica realizar copias de seguridad regularmente, especialmente si estás utilizando este entorno para pruebas importantes o desarrollo.
  • Administración de volúmenes: Si alguna vez necesitas eliminar completamente tus datos y empezar desde cero, puedes eliminar los volúmenes utilizando docker volume rm seguido del nombre del volumen. Ten cuidado con este comando, ya que eliminará todos los datos almacenados.
  • Modificaciones: Si realizas cambios en tu archivo docker-compose.yml o deseas actualizar las imágenes a versiones más recientes, puedes hacerlo y luego usar docker-compose up -d para aplicar los cambios. Docker Compose recreará los contenedores según sea necesario.

Siguiendo estos pasos, puedes detener, iniciar y persistir tus datos en el entorno de WordPress utilizando Docker y Docker Compose. Esto te proporciona un sistema flexible y robusto para pruebas y desarrollo.

Recuerda que estos pasos son una guía general y los detalles pueden variar dependiendo de tu configuración específica y las versiones de software. Asegúrate de consultar la documentación oficial de Docker y WordPress para obtener información más detallada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies