LINUX

Cómo instalar WordPress con Docker usando Docker Compose

Este artículo cubre cómo configurar wordpress con docker usando docker-compose rápidamente. WordPress requiere la pila LAMP o LEMP, pero la imagen de la ventana acoplable oficial de WordPress contiene PHP y Apache, dejándonos instalar solo la imagen de la ventana acoplable MySQL. Pero para administrar MySQL a través de la interfaz web, también instalaremos la imagen de la ventana acoplable PHPMyAdmin. Docker compose facilita la gestión de la coordinación de procesos dentro de los contenedores. Por lo tanto, antes de comenzar, asegúrese de tener instalada la última versión de docker compose en su máquina host.

Prerrequisitos

Debe tener docker y docker-compose disponibles en su máquina host. Usaremos la versión ‘2’ de docker-compose, por lo tanto, es posible que deba actualizar docker compose en la máquina host. Puede actualizar el docker compose desde el oficial página de github. Una vez que haya actualizado la redacción, busque la versión de la ventana acoplable y la redacción en la máquina host.

root@demohost:~# docker -v
Docker version 1.12.3, build 6b644ec
root@demohost:~# docker-compose -version
docker-compose version 1.10.0, build 4bd6f1a

1. Instale MySQL

Primero definiremos un directorio de proyecto donde todos los recursos serán entretejidos por compose para construir nuestra imagen. Por lo tanto, para empezar, también crearemos docker-compose.yml dentro de nuestro directorio de proyectos.

root@demohost:~# mkdir docker_wp
root@demohost:~# cd docker_wp

Cree / edite docker-compose.yml para crear una instancia de MySQL con un montaje de volumen para la persistencia de datos. También hemos especificado nuestras redes de nivel superior con clave ‘back’. Las redes de nivel de servicio (WordPress, PHPMyAdmin) especificarán esta ‘Clave’ para conectarse a redes de nivel superior.

root @ demohost: ~ / docker_wp # vi docker-compose.yml

version: '2'
services:
database:
image: mysql:5.7.17
restart: always
volumes:
- database_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
networks:
- back
networks:
back:
volumes:
database_data:

Docker componer para MySQL

Ahora inicie el contenedor con docker-compose

root@demohost:~/docker_wp# docker-compose up -d
Creating network "dockerwp_back" with the default driver
Creating volume "dockerwp_db_data" with default driver
Pulling database (mysql:5.7.17)...
5.7.17: Pulling from library/mysql
--------------------------
--------------------------
a1b9627588c7: Pull complete
Digest: sha256:5e2ec5964847dd78c83410f228325a462a3bfd796b6133b2bdd590b71721fea6
Status: Downloaded newer image for mysql:5.7.17
Creating dockerwp_database_1

Listar el contenedor

root@demohost:~/docker_wp# docker ps -a

2. Instale PHPMyAdmin

Para instalar PHPMyAdmin en el contenedor, agregaremos los siguientes fragmentos de código en docker-compose.yml en la sección de servicios.

phpmyadmin:
depends_on:
- database
image: phpmyadmin/phpmyadmin
restart: always
ports:
- 8080:80
environment:
PMA_HOST: database
MYSQL_ROOT_PASSWORD: root
networks:
- back

El servicio phpmyadmin depende de nuestro servicio de ‘base de datos’ que hemos definido anteriormente en el archivo docker compose. El docker compose tomará phpmyadmin oficial y el puerto no 8080 del host de la ventana acoplable se asignará al puerto 80 del contenedor. La variable de entorno PMA_HOST define la dirección / nombre de host del servidor MySQL y MYSQL_ROOT_PASSWORD especifica la contraseña raíz para el servidor MySQL y debe ser la misma que el valor MYSQL_ROOT_PASSWORD que se estableció en el servicio ‘base de datos’.

Vuelva a iniciar el grupo de aplicaciones.

root@demohost:~/docker_wp# docker-compose up -d
Pulling phpmyadmin (phpmyadmin/phpmyadmin:latest)...
latest: Pulling from phpmyadmin/phpmyadmin
0a8490d0dfd3: Pull complete
-----------------------------
98ff89f652db: Pull complete
Digest: sha256:942030a8ef4e2ab49ae5d9a60a27c94eed4e9003cd2bd01a62c501b92fdabfda
Status: Downloaded newer image for phpmyadmin/phpmyadmin:latest
dockerwp_database_1 is up-to-date
Creating dockerwp_phpmyadmin_1

Lista de contenedores

root@demohost:~/docker_wp# docker ps -a

Abra su navegador favorito y apúntelo a http: // Docker_Host_IP: 8080, será recibido por la página de inicio de sesión de phpmyadmin. Inicie sesión con el usuario root y la contraseña como root. Si ha establecido el valor del entorno MYSQL_ROOT_PASSWORD en otra cosa, inicie sesión con esa contraseña.

Página de inicio de sesión de WordPress

3. Instale WordPress con Docker

Finalmente, configuraremos el contenedor docker de wordpress anteponiendo los siguientes fragmentos de código en la sección de servicios.

wordpress:
depends_on:
- database
image: wordpress:4.6
restart: always
volumes:
- ./wp-content:/var/www/html/wp-content
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_PASSWORD: root
ports:
- 80:80
- 443:443
networks:
- back

El servicio de WordPress depende del servicio de ‘base de datos’ y docker compose extraerá wordpress con la versión de docker 4.6. Hemos elegido la versión 4.6 deliberadamente para poder actualizar wordpress en el paso final. La variable de entorno WORDPRESS_DB_HOST se establece en el nombre de host MySQL seguido del puerto no y WORDPRESS_DB_PASSWORD se establece en ‘root’ que hemos asignado en MYSQL_ROOT_PASSWORD en la sección ‘base de datos’. El puerto no 80 y 443 del host de la ventana acoplable se asigna a los puertos de contenedores no 80 y 443. El contenedor de la ventana acoplable de wordpress también está conectado a las redes de nivel superior «back».

Nuestro docker-compose.yml final se ve a continuación.

Wordpress con docker compose

A continuación, inicie las tres aplicaciones juntas.

root@demohost:~/docker_wp# docker-compose up -d
Pulling wordpress (wordpress:4.7.2)...
4.7.2: Pulling from library/wordpress
5040bd298390: Already exists
568dce68541a: Pull complete
-----------------------------
Digest: sha256:a0ce5d2666bff9fe17fd8d5c6b5ba3094b7109e97af8c69a0c31057a77e24899
Status: Downloaded newer image for wordpress:4.7.2
dockerwp_database_1 is up-to-date
dockerwp_phpmyadmin_1 is up-to-date
Creating dockerwp_wordpress_1

Enumere los contenedores.

root@demohost:~/docker_wp# docker ps -a

Acceda al sitio de wordpress apuntando su navegador a http: // Docker_Host_IP Se le pedirá que elija un idioma.

Wordpress con instalación de Docker

Proporcione el título del sitio, el nombre de usuario, la contraseña, el correo electrónico y haga clic en «Instalar WordPress»

Configuración del sitio de WordPress

Inicie sesión en el sitio de wordpress escribiendo el nombre de usuario / dirección de correo electrónico y la contraseña que proporcionó en el último paso.

Inicio de sesión de WordPress

Serás redirigido al panel de WordPress.

Tablero de WordPress

Haga clic en complementos en la barra de menú del lado izquierdo. Encontrará dos complementos con el nombre «Akismet» y «Hello Dolly»

Complementos de WordPress

Elimine el complemento «Hello Dolly» cambiando al directorio wp-content / plugins del proyecto de wordpress

root@demohost:~/docker_wp# cd wp-content/plugins/
root@demohost:~/docker_wp/wp-content/plugins# ls
akismet  hello.php  index.php
root@demohost:~/docker_wp/wp-content/plugins# rm hello.php

Actualice la página, Hello Dolly no aparecerá en la lista ahora. Haga clic en ‘Temas’ en ‘Apariencia’ en la barra lateral izquierda. Los temas predeterminados se enumerarán en esta página.

Temas de WordPress

Como queremos colocar un tema de nuestra elección, navegue al directorio wp-content / themes y elimine los temas.

root@demohost:~/docker_wp# cd wp-content/themes/
root@demohost:~/docker_wp/wp-content/themes# ls
index.php  twentyfifteen  twentyseventeen  twentysixteen
root@demohost:~/docker_wp/wp-content/themes# rm -rf twenty*

Descarga un tema de tu elección. Descargaremos el tema https://wordpress.org/themes/nisarg/ Descomprima el tema y elimine el archivo zip.

root@demohost:~/docker_wp/wp-content/themes# wget https://downloads.wordpress.org/theme/nisarg.1.2.6.zip
root@demohost:~/docker_wp/wp-content/themes# unzip nisarg.1.2.6.zip
root@demohost:~/docker_wp/wp-content/themes# rm -rf nisarg.1.2.6.zip

Ahora actualice la página de temas, el tema descargado aparecerá allí. Active el tema haciendo clic en «Activar»

Wordpress activa el tema nisarg

Dado que hemos instalado wordpress versión 4.6, se le pedirá que actualice wordpress. No haga clic en «Actualizar ahora» en esta etapa. Necesitamos cambiar la versión de wordpress en docker-compose.yml. Edite docker-compose y cambie la versión de wordpress de 4.6 a 4.7.2

wordpress:
depends_on:
- database
image: wordpress:4.7.2
------------------------
------------------------

Detener / reiniciar el contenedor de wordpress

root@demohost:~# docker stop dockerwp_wordpress_1
root@demohost:~# docker rm dockerwp_wordpress_1
root@demohost:~# docker-compose up -d

Ahora haga clic en «Actualice ahora»

Actualización de WordPress

Haga clic en «Actualizar ahora»

Actualización de WordPress a una versión más reciente

El proceso de actualización de WordPress será visible para usted.

Proceso de actualización de WordPress

Para comprobar la versión de wordpress, haga clic en «Actualizaciones». La versión de wordpress aparecerá en esta página.

Versión de verificación de WordPress

Conclusión

En este artículo, hemos cubierto la instalación de WordPress usando docker-compose. Espero que haya disfrutado la lectura y por favor deje sus comentarios y sugerencias.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar