Si eres nuevo en Docker y contenedores, configurar el Contenedor Docker de Apache es una excelente manera de comenzar. Crear una aplicación en Docker es beneficioso debido a su tecnología liviana y seguridad.
En este tutorial, aprenderás cómo configurar un Contenedor Docker de Apache en Ubuntu. Utiliza este tutorial para familiarizarte con Docker y obtener también un servidor web Apache al finalizar.
Requisitos previos
Si deseas seguir paso a paso, asegúrate de tener lo siguiente y una máquina con Ubuntu 14.04.4 LTS o una versión superior con Docker instalado para este tutorial. Este tutorial utiliza Ubuntu 18.04.5 LTS con Docker v19.03.8 y una dirección IP pública de 13.213.48.113.
Configuración del Contenedor Docker de Apache
Suponiendo que ya has instalado Docker, primero configuremos el contenedor de Apache. Más adelante, aprenderás cómo iniciarlo.
Una de las formas más sencillas de poner en marcha rápidamente un contenedor Docker de Apache es descargar una imagen de contenedor existente del registro oficial de Docker, Docker Hub. En este ejemplo, descargarás y ejecutarás un contenedor Docker llamado Apache.
Con unos pocos comandos de Docker, en poco tiempo estarás ejecutando una instancia de Apache. Para hacerlo, sigue los pasos a continuación.
Nota: Este tutorial no cubre en detalle la ejecución de comandos de Docker. Para obtener más información sobre los comandos de Docker, visita la página de documentación de la línea de comandos de Docker.
1. Abre una terminal en tu máquina Ubuntu.
2. Descarga la imagen de Docker, que contiene Apache y se llama httpd
, ejecutando el comando docker pull
a continuación. Este comando descargará o “pullará” la imagen de Apache desde el registro de Docker, como se muestra a continuación.
La captura de pantalla a continuación muestra el resultado esperado al descargar la imagen desde Docker Hub.

3. A continuación, confirma que has descargado la imagen ejecutando el comando docker images
a continuación para listar todas las imágenes disponibles en tu computadora.
Como puedes ver a continuación, ahora tienes una imagen de Docker, que es la imagen que descargaste desde Docker Hub.

Ejecutando el contenedor de Apache usando el comando de Docker.
En la sección anterior, descargaste la imagen de Docker desde el Docker Hub. Ahora estás listo para crear un contenedor a partir de esa imagen. Para ejecutar el contenedor de Apache, deberás ejecutar el comando Docker de la siguiente manera:
1. Invoca el comando docker run
para crear un nuevo contenedor basado en tu imagen de Docker de Apache descargada.
El comando docker run
luego devuelve el ID único del contenedor que acabas de crear. Guarda este ID del contenedor en el recuadro resaltado a continuación para el futuro si deseas eliminar o quitar el contenedor.

2. Una vez que el contenedor de Apache esté en ejecución, verifica si puedes acceder a la interfaz web de Apache navegando a Dirección-IP-pública:80 utilizando tu navegador web. Si puedes ver el mismo mensaje, como se muestra a continuación, entonces has iniciado correctamente tu contenedor de Docker de Apache.
Asegúrate de que la Máquina Ubuntu 14.04.4 LTS tenga permitido el puerto de entrada 80 en el grupo de seguridad.

3. Finalmente, detenga el contenedor si ya no lo necesita en ejecución ejecutando el comando docker stop
a continuación. Este comando detendrá el contenedor de manera controlada.
Alternativamente, también puede detener un contenedor en ejecución especificando su nombre en el comando
docker stop
(docker stop docker-apache
).
Ejecución de contenedor Docker de Apache desde un archivo Docker
En la sección anterior, aprendió cómo iniciar un contenedor Docker de Apache ejecutando la imagen Docker httpd predeterminada. ¿Qué pasa si necesita actualizar la imagen base para mostrar contenido diferente o exponerlo en un puerto diferente?
Desplegar un contenedor usando un archivo Docker le permite eliminar el paso de creación manual de la imagen cuando está probando la misma configuración en un sistema operativo diferente. El enfoque del archivo Docker es un script automatizado de imágenes Docker.
Creemos un archivo Docker y ejecutemos un contenedor a partir de él.
1. Cree una carpeta llamada ~/apache-server-docker-demo, luego cambie (cd
) el directorio de trabajo a esa carpeta.
2. Crea otro archivo, copia/pega la siguiente configuración y guarda el archivo como index.html dentro del directorio ~/apache-server-docker-demo. El archivo index.html es una página HTML que mostrará Este tutorial te enseñará cómo ejecutar un contenedor Apache en Docker una vez que el contenedor se inicie, como verás más adelante en el curso.
3. Crea otro archivo, copia/pega la siguiente configuración y guarda el archivo como Dockerfile dentro del directorio ~/apache-server-docker-demo. Cuando esté completo, Docker utilizará este Dockerfile para ejecutar todos los comandos necesarios para construir una nueva imagen de Docker sobre cualquier imagen base.
El Dockerfile a continuación contiene varios pasos/instrucciones que construirán el contenedor Apache:
Maintainer
– La instrucción Maintainer proporciona información sobre el autor que gestiona este archivo.FROM
– La instrucción FROM inicializa una nueva etapa de construcción y establece la Imagen Base para las instrucciones subsecuentes. En el siguiente fragmento de código,centos:7
es la imagen base.COPY
– El comando COPY copia un archivo desde la máquina host de Docker al contenedor. El index.html que creaste anteriormente en la máquina host de Docker se copiará al directorio /var/www/html del contenedor.EXPOSE
– La instrucción EXPOSE informa a Docker que el contenedor escucha en los puertos de red especificados en tiempo de ejecución. El servidor web Apache está expuesto por defecto en elPuerto 80
.
4. A continuación, verifica todos los archivos requeridos a continuación en la carpeta ejecutando el comando tree
.

5. Luego, construye la imagen ejecutando el comando docker build
. La bandera t
se utiliza para etiquetar la imagen apache-server
con v1
y .
indica el directorio de trabajo actual.

docker build
command Cuando Docker construye corre, devuelve varios atributos. Verás que uno de esos atributos es REPOSITORY. El nombre del REPOSITORY es apache-server
, y la imagen está etiquetada con la versión v1
, como se muestra a continuación.

6. Finalmente, ejecuta el contenedor apache usando la imagen recién construida ejecutando el comando docker run
.
La bandera p
publica el(los) puerto(s) de un contenedor al host, que es 80:80
. La bandera -it
instruye a Docker para asignar un pseudo-terminal conectado al stdin del contenedor.
7. Por último, verifica si puedes acceder a la interfaz web de Apache navegando a Dirección-IP-pública:80 utilizando tu navegador web. Verás este mensaje en la interfaz web porque creaste el archivo index.html, y Docker lo copió al contenedor cuando se inició.

Conclusión
Este tutorial tiene como objetivo ayudarte a través del proceso de configuración de un contenedor Docker de Apache utilizando imágenes de Docker. Aprendiste cómo lanzar contenedores de Apache utilizando archivos Docker, con los cuales puedes editar y construir contenedores personalizados de tu elección.
Entonces, ¿qué vas a construir en la imagen del servidor Apache Docker?