Docker Apache: Creación de Host Virtuales
FROM ubuntu:latest
RUN apt-get update && apt-get install -y apache2
COPY ./apache-config /etc/apache2/sites-available/
RUN a2ensite mi_primer_sitio.conf && a2dissite 000-default.conf
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]
Para configurar hosts virtuales de Apache dentro de un contenedor Docker, permitiendo el acceso a carpetas específicas en el host, se deben seguir estos pasos: crear un Dockerfile, definir los hosts virtuales en la configuración de Apache, mapear los directorios del host al contenedor y, finalmente, ejecutar el contenedor.
Pasos detallados:
- Crear un Dockerfile:
Este archivo define la imagen de Docker que contendrá Apache y su configuración.
- Definir los hosts virtuales en Apache:
En el directorio
/apache-config (que se copia al contenedor), se crean archivos de configuración para cada host virtual, como mi_primer_sitio.conf. Se debe crear la estructura de directorios dentro del contenedor (
/var/www/mi_primer_sitio) y mapearla a una carpeta en el host. - Mapear directorios del host al contenedor:
Al ejecutar el contenedor, se utiliza la opción
-v para mapear un directorio del host a uno dentro del contenedor. Por ejemplo, para mapear /home/user/sitio1 del host a /var/www/mi_primer_sitio en el contenedor, se usa: Esto permite que Apache en el contenedor sirva archivos desde la carpeta
sitio1 en el host.- Construir y ejecutar la imagen:
Primero, se construye la imagen Docker usando el Dockerfile:
Luego, se ejecuta el contenedor con el mapeo de volúmenes:
Esto expone el puerto 80 del contenedor al puerto 8080 del host, y mapea la carpeta
/home/user/sitio1 del host a la ruta /var/www/mi_primer_sitio del contenedor. Se pueden agregar más mapeos de volúmenes para otros hosts virtuales.- Configuración del nombre de host:
Es importante que el nombre de host definido en el archivo de configuración (
ServerName) coincida con la configuración DNS o con entradas en el archivo /etc/hosts del sistema donde se accederá al contenedor, o usar el indicador --hostname al ejecutar el contenedor. Este video muestra cómo crear host virtuales en Docker con Apache:
No hay comentarios:
Publicar un comentario