Crear un Container en Docker con XAMPP

Hola Muertos vivientes, hoy les eseñaré como crear contenedores en Docker con XAMPP y luego publicar un sitio web en el. Comencemos, para este how-to necesitamos:

  • Una cuenta de Azure
  • Putty, Terminal o Bash

Como primer paso vamos a ir a Azure y crear Docker Ubuntu, simplemente ingresamos a https://portal.azure.com y los loqueamos, una vez ahi, vamos a dar clic en el botón marketplace

En el marketplace vamos a buscar Docker on Ubuntu Server y le damos clic

Seguimos el wizard y configuramos que el método de autenticación es Password y no SSH Key.

Ahora nos vamos al Terminal y escribimos:

ssh nomvm.cloudapp.net -l eladmin

Eso nos conectará vía SSH al servidor de Docker, ahora crearemos el contenedor:

docker run -p 41061:22 -p 41062:80 -d -v ~/my_web_pages/my_testing_page1:/www tomsik68/xampp

En donde el puerto 41061 apunta al puerto 22 para SSH y el puerto 41062 apunta al puerto 80 para HTTP, para validar que el contenedor se haya creado correctamente, podemos usar el siguiente comando:

docker ps

Y veremos que nuestro contenedor se lista. Ahora que ya tenemos el contenedor funcionando, vamos a conectarnos vía SSH al contenedor para comenzar a crear código:

ssh root@localhost -p 41061
cd /www
nano index.php

En el nano escribiremos un clásico Hola Mundo:

<?php

echo 'Hola Mundo ', $_GET['nombre'];

?>

Ahora vamos al portal de Azure nuevamente y creamos una regla de entrada en el Network Security Group de la maquina virtual:

Con eso deberíamos poder ingresar a nuestro sitio Web sin problemas!