GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar WordPress con Docker en Ubuntu

En este tutorial, instalaremos WordPress utilizando múltiples contenedores docker. Wordpress mismo en un contenedor y la base de datos MariaDB en otro contenedor. Luego, instalaremos Nginx en la máquina host como proxy inverso para el contenedor de WordPress.

Docker es un proyecto de código abierto para facilitar a los desarrolladores y administradores de sistemas la creación, implementación y ejecución de aplicaciones distribuidas dentro de un contenedor docker. Docker es una virtualización a nivel del sistema operativo, puede crear un aislamiento del sistema para su aplicación con Docker para la aplicación que se ejecuta dentro del contenedor. Puede crear cientos de contenedores docker dentro de su servidor, el número depende del hardware de su máquina.

Requisito previo

  • Ubuntu 15.04 - x86_64
  • Privilegios de raíz
  • Conocimiento de Docker

Paso 1:instalar Docker

En este paso, actualizaremos el repositorio de Ubuntu y luego instalaremos la última versión de docker.io.

Conviértase en usuario root para los siguientes pasos:

sudo -s

Actualice el repositorio de Ubuntu:

apt-get update

Ahora instale los paquetes de Docker con el siguiente comando apt:

apt-get install docker.io

Cuando la instalación haya terminado, inicie docker y agréguelo para que se ejecute en el momento del arranque del sistema con el comando systemctl:

systemctl start docker
systemctl enable docker

A continuación, verifique la versión de Docker con este comando de Docker:

docker version
docker run hello-world

La instalación de Docker ha finalizado.

Paso 2:configurar el contenedor de MariaDB

En este paso, descargaremos una nueva imagen de MariaDB del registro de docker y crearemos un nuevo contenedor basado en esa imagen. Configuraremos una nueva base de datos y usuario para la instalación de WordPress.

Descargue la imagen de Docker MariaDB al sistema con el comando de extracción de Docker:

docker pull mariadb

Ahora puede ver la nueva imagen docker MariaDB con el siguiente comando:

docker images

A continuación, cree un nuevo contenedor a partir de la imagen de MariaDB para la instalación de WordPress. Antes de crear el nuevo contenedor, cree un nuevo directorio para los datos de WordPress, el directorio de la base de datos y el directorio del código de WordPress.

mkdir ~/wordpress
mkdir -p ~/wordpress/database
mkdir -p ~/wordpress/html

Ahora cree el nuevo contenedor MariaDB con el nombre 'wordpressdb' con el siguiente comando:

docker run -e MYSQL_ROOT_PASSWORD=aqwe123 -e MYSQL_USER=wpuser -e [email protected] -e MYSQL_DATABASE=wordpress_db -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb

Si no hay ningún error, puede ver los resultados a continuación:

Explicación de parámetros:

  • MYSQL_ROOT_PASSWORD =configurar la contraseña para el usuario root de MySQL.
  • MYSQL_USER =crear un nuevo usuario de MySQL 'wpuser' para la base de datos de WordPress.
  • MYSQL_PASSWORD =establecer la contraseña '[email protected]' para el usuario 'wpuser'.
  • MYSQL_DATABASE =crear una nueva base de datos para la instalación de wordpress con el nombre 'wordpress_db'.
  • -v /raíz/wordpress/base de datos:/varlib/mysql =directorio de base de datos vinculado al directorio mysql '/var/lib/mysql' en el contenedor para garantizar la persistencia de los datos.

Se ha creado el contenedor MariaDBriadb, ahora verifique el nuevo usuario y la base de datos para la instalación de WordPress para asegurarse de que no haya ningún error con el comando en la parte superior.

Desde la máquina host, verifique la dirección IP del contenedor de wordpressdb con el siguiente comando docker:

docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb

A continuación, conéctese al contenedor wordpressdb con el comando mysql desde el sistema host:

mysql -u wpuser -h 172.17.0.2 -p 
TYPE PASSWORD: [email protected]

Compruebe la nueva base de datos 'wordpress_db':

show databases;

Todos los resultados:

El nuevo contenedor Docker, el usuario MySQL y la base de datos MySQL para WordPress se han creado correctamente.

Paso 3:configurar el contenedor de Wordpress

Una vez que se haya creado el contenedor de la base de datos, descargue la última imagen de la ventana acoplable de WordPress con el comando de extracción de la ventana acoplable:

docker pull wordpress:latest

Cuando finalice la descarga, cree un nuevo contenedor a partir de las imágenes con el nombre 'wpcontainer'.

docker run -e WORDPRESS_DB_USER=wpuser -e [email protected] -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress

Puede obtener el resultado como se muestra a continuación, o puede verificar que se haya creado el nuevo contenedor llamado 'wpcontainer'.

Parámetros:

  • WORDPRESS_DB_USER =define el usuario de la base de datos 'wpuser' para la base de datos de wordpress.
  • WORDPRESS_DB_PASSWORD =contraseña '[email protected]' para el usuario de la base de datos 'wpuser'.
  • WORDPRESS_DB_NOMBRE =nombre de la base de datos 'wordpress_db' creada en el paso 2.
  • -p 8081:80 =asignar el puerto 80 en el contenedor al puerto 8081 en el host.
  • -v /root/wordpress/html:/var/www/html =Vincular el directorio raíz web '/var/www/html' en el contenedor al directorio del host local 'wordpress/html'.
  • --enlace wordpressdb:mysql =vincular el contenedor mariadb 'wordpressdb' al nuevo contenedor wordpress 'wpcontainer'.

Para ver el contenedor de WordPress ejecutándose, puede verificarlo con el comando curl en la IP del host y el puerto 8081.

curl -I 192.168.43.99:8081

Verá los resultados:

  • El servidor web es Apache, que se ejecuta en Debian.
  • PHP 5.6 se está ejecutando en el contenedor.
  • Verá la redirección a la instalación de WordPress.

Paso 4:instalar y configurar Nginx como proxy inverso

En este paso, instalaremos el servidor web Nginx en el sistema host. Configuraremos Nginx como un proxy inverso para el contenedor Docker 'wpcontainer' en el puerto 8081.

Instale Nginx con el comando apt en el sistema host:

apt-get install nginx

A continuación, vaya al directorio Nginx y cree una nueva configuración de host virtual para el contenedor de WordPress.

cd /etc/nginx/sites-available/
vim wordpress

Pegue la configuración del host virtual a continuación:

server {
  listen 80;
  server_name wordpress-docker.co www.wordpress-docker.co;

  location / {
    proxy_pass http://localhost:8081;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Guarde el archivo y salga.

Ahora, active el nuevo host virtual de WordPress y elimine la configuración predeterminada del host virtual.

ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-available/default
rm -f /etc/nginx/sites-enabled/default

Reinicie el servidor web Nginx:

systemctl restart nginx

Paso 5 - Instalación de WordPress

Abra su navegador web y visite el nombre de dominio en la configuración de nginx 'www.wordpress-docker.co' y será redirigido a la instalación de WordPress.

Escriba el título de su sitio, el nombre de usuario del administrador y la contraseña, luego haga clic en Instalar WordPress.

Ahora haga clic en 'Iniciar sesión en Wordpress' y complete el nombre de usuario y la contraseña que ha elegido anteriormente, verá el panel de control de WordPress.

O puede ver la página de inicio de WordPress a continuación:

La instalación de WordPress con un contenedor de MariaDB y un contenedor de WordPress ha sido exitosa.


Ubuntu
  1. Cómo instalar Docker en Ubuntu 22.04

  2. Cómo instalar WordPress con Nginx en Ubuntu 18.04

  3. Cómo instalar WordPress con Apache en Ubuntu 18.04

  4. Cómo instalar Docker en Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  5. Cómo instalar WordPress usando Docker

Cómo instalar Mailtrain en Ubuntu 18.04 con Docker

Cómo instalar el contenedor Ubuntu 22.04 LTS en Docker

Cómo instalar Docker en Ubuntu 14.04

Cómo instalar WordPress con Docker en Ubuntu 16.04 LTS

Cómo instalar WordPress con Nginx en Ubuntu 20.04

Cómo instalar WordPress en Ubuntu 20.04