Hola amigos vamos a ver como crear una imagen en Docker con apache instalado a partir de un contenedor a la cual le hayamos instalado apache2.

Siempre partimos de una imagen previa de Docker, para esto ya tenemos una imagen descargada de ubuntu

Paso 1: Listando las imagenes

Paso 2: Creamos un contenedor

sudo docker run -p 80:80 -it d355ed3537e9

-p 80:80 : Nos permite enlazar el puerto 80 de nuestro Server Local con el puerto 80 del contenedor
d355ed3537e9: Es el Id de la imagen
-it: Asigna un terminal al contenedor y nos permite comunicarnos de forma interactiva

Paso 3: Instalamos apache2 en nuestro contenedor

Debemos de asegurarnos de estar dentro de nuestro contenedor, sino debemos ingresar con el comando attach a nuestro contenedor, estando dentro de nuestro contenedor ejecutamos:

El siguiente comando lo que nos permite es actualizar los repositorios de nuestro contenedor

apt-get update

Instalamos Apache:

apt-get install apache2 -y

Luego de terminar la instalación iniciamos el servicio de Apache:

/etc/init.d/apache2 restart

Salimos de nuestro contenedor  sin detener su ejecución con las teclas: Ctrl + p + q

Si nos vamos a un navegador e ingresamos la url: http://127.0.0.1/
veremos el servicio de Apache2  activo.

Paso 4: Creando la imagen de Dokcer.

Listamos el contenedor para ver su ID:

sudo docker ps

Ahora que ya sabemos el Id de nuestro contenedor (65889ca74435)  vamos a crear la imagen de Docker.

sudo docker commit --change='CMD ["apache2ctl","-D FOREGROUND"]' -c "EXPOSE 80" 65889ca74435 ubuntuapache

–change: Permite agregar cambios a la nueva imagen que vamos a crear
CMD : Indica que servicios va a ejecutar para nuestro caso es apache2ctl
-D FOREGROUND: para que se ejecute en 2do plano el servicio apache2ctl.
-c:  Permite exponer puertos por defecto para el contenedor.
65889ca74435: Id del contenedor a partir del cual crearemos nuestra Imagen de docker.

Si listamos las imágenes podemos ver nuestra imagen creada con ID 90b976030c75

Paso 5: Creamos una nuevo contenedor

Luego de haber creado nuestra imagen de nombre ubuntuapache vamos crear un contenedor a partir de dicha imagen:

sudo docker run -p 9000:80 -itd --name="newapache" ubuntuapache

–name: Nos permite asignarle un nombre personalizado a nuestro contenedor

-d: Permite ejecutar apache en segundo plano

Ahora si vamos nuestro navegador e ingresamos por el puerto: http://127.0.0.1:9000/ veremos a nuestro Servidor Apache:

Podemos acceder a la terminal del contenedor con el comando:

sudo docker exec -it newapache bash

newapache: Es el nombre de nuestro contenedor
Podemos salir del contenedor presionando la tecla: Ctrl + p +q

También podemos detener la ejecución del contenedor

sudo docker stop newapache

 

 

 

 

 

 

 

Categorías: Docker

Javier Salazar Carlos

Soy Ingeniero de Ingeniería de Sistemas, egresado de la Universidad Nacional del Callao, especialista en Tecnologías de la Información y de las Comunicaciones (TICs).

Deja un comentario

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

*

code