Guía Docker - Wordpress
Guía Docker - Wordpress
Guía Docker - Wordpress
Esta guía tiene como objetivo mostrar el uso de Docker utilizando una instalación sencilla
de Wordpress utilizando los contenedores oficiales, tanto de Wordpress como de MySQL.
Es importante hacer notar que en este guía se utilizan comandos multilínea, para indicarle
al interprete de comando que se continuará en la siguiente línea se utiliza el carácter “\”
pero usted puede continuar escribiendo el comando como una solo línea si no desea
agregar este carácter.
Para ejecutar esta guía, será necesario realizar mediante el equipo Ubuntu. Los comandos
de docker se ejecutar directamente por lo que primero es necesario garantizar que su
usuario pertenece al grupo docker con el siguiente comando:
# groups
En la salida del comando deberá aparecer docker como los grupos, si no aparece se debe
agregar:
Ahora procederemos a crear dos volúmenes, los cuales servirán para mantener data de
forma persistente en nuestros contenedores, uno para los datos de MySQL (mysql-data) y
el otro para los datos de Wordpress (wordpress):
Para que los contenedores tengan comunicación entre sí, procederemos a crear una red la
cual tendrá como nombre wordpress0 (para ver más detalles de los modos de red se puede
ver la documentación de Docker):
Algo a notar del comando anterior es que agregamos el contenedor a la red wordpress0,
montamos el volumen mysql-data, se le ponen de nombre al contenedor mysql1 y
exponemos el puerto de mysql (3306). MySQL asigna una contraseña por defecto para root
la cual debemos cambiar posteriormente. Para verificar la contraseña ejecutamos el
siguiente comando:
En caso el comando no muestre nada quiere decir que no ha terminado de inicializar, para
lo cual debemos esperar y volverlo a ejecutar hasta que nos dé resultados. Una vez
tengamos la clave temporal de root podemos iniciar sesión en MySQL:
Con todo esto, ya podemos levantar worpress tomando en consideración que la plataforma
utiliza variables de entorno para gestionar sus configuraciones. Dichas variables de
entorno deberán corresponder con lo configurado en el acceso creado a la base de datos,
así como el nombre de nuestro contenedor de mysql (mysql1) ya que se maneja un DNS
interno que traduce el nombre del servicio a su respectiva IP.
Con esto podemos cargar localhost en nuestro navegador web y veremos la interfaz de
instalación de wordpress.
Debido a que en este curso se hicieron pruebas con VulnerableApp, es posible que esta
aun tenga reservado el puerto 80, para liberarlo debemos detener el contenedor si esta
corriendo y eliminarlo previa a levantar wordpress.
De los siguientes comandos el primero listamos todos los contenedores, aun los
detenidos, el segundo detiene un contenedor (podemos utilizar el nombre o el ID) y el
tercero lo elimina (debe estar detenido):
# docker ps -a
# docker stop ID_CONTENEDOR
# docker rm ID_CONTENEDOR