Para quienes quieran aprender de Docker+php

  • Autor Autor mchojrin
  • Fecha de inicio Fecha de inicio
mchojrin

mchojrin

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Les dejo por aquí el enlace al workshop que realicé para Nerdearla101



Se aceptan preguntas 🙂
 
Me tiene frito Docker. Para alguien que estudió con VMWARE se me hace doloroso.

Tengo que entregar un trabajo el Viernes para una formación y se me hace duro de cojones.
 
Si.. es algo duro al comienzo. Alguna duda puntual con la que pueda ayudarte?
 
En verdad tengo que preparar un dockerfile con muchas configuraciones, por ahora tengo esto y aprovecho para una duda puntual.

Los html si los tengo en local pero me surge duda con el formato de las configuraciones de apache2.conf y los demás. Creo un notepad meto la configuración y listo? gracias.


Insertar CODE, HTML o PHP:
# Utilizamos la imagen base de Ubuntu
FROM ubuntu:latest


# Mantener el sistema actualizado e instalar Apache
RUN apt-get update && \
    apt-get install -y apache2


# Copiar los archivos del sitio web
COPY index.html /var/www/html/index.html
COPY usuario-birt/index.html /var/www/html/usuario-birt/index.html
COPY usuario-birt/privado /var/www/html/usuario-birt/privado


# Copiar configuraciones de Apache
COPY apache2.conf /etc/apache2/apache2.conf
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY usuario-birt.conf /etc/apache2/sites-available/usuario-birt.conf


# Copiar archivo de contraseñas
COPY apache2-passwd /etc/apache2/.htpasswd


# Asegurarse de que solo el usuario root pueda leer el archivo de contraseñas
RUN chown root:root /etc/apache2/.htpasswd && chmod 644 /etc/apache2/.htpasswd


# Habilitar módulos necesarios y configurar Apache para permitir la autenticación
RUN a2enmod ssl && \
    a2ensite default-ssl && \
    a2enmod auth_basic && \
    a2enmod authn_core && \
    a2enmod authz_user && \
    a2enmod authz_core


# Configurar certificado SSL
COPY cert/usuario-birt.crt /etc/ssl/certs/usuario-birt.crt
COPY cert/usuario-birt.key /etc/ssl/private/usuario-birt.key


# Configurar acceso y error logs
RUN mkdir /var/log/apache2/usuario-birt
RUN touch /var/log/apache2/usuario-birt/usuariobirt-access.log
RUN touch /var/log/apache2/usuario-birt/usuariobirt-error.log
RUN chown -R www-data:www-data /var/log/apache2/usuario-birt


# Exponer los puertos
EXPOSE 80
EXPOSE 443
 
Pues, en principio diría que sí. Con los comando COPY que estás usando, los archivos que tengas en el directorio donde esté el Dockerfile se copiarán dentro de la imagen que generes. A priori lo veo bien, luego habrá que verlo en la práctica, claro 😉
 
En verdad tengo que preparar un dockerfile con muchas configuraciones, por ahora tengo esto y aprovecho para una duda puntual.

Los html si los tengo en local pero me surge duda con el formato de las configuraciones de apache2.conf y los demás. Creo un notepad meto la configuración y listo? gracias.


Insertar CODE, HTML o PHP:
# Utilizamos la imagen base de Ubuntu
FROM ubuntu:latest


# Mantener el sistema actualizado e instalar Apache
RUN apt-get update && \
    apt-get install -y apache2


# Copiar los archivos del sitio web
COPY index.html /var/www/html/index.html
COPY usuario-birt/index.html /var/www/html/usuario-birt/index.html
COPY usuario-birt/privado /var/www/html/usuario-birt/privado


# Copiar configuraciones de Apache
COPY apache2.conf /etc/apache2/apache2.conf
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf
COPY usuario-birt.conf /etc/apache2/sites-available/usuario-birt.conf


# Copiar archivo de contraseñas
COPY apache2-passwd /etc/apache2/.htpasswd


# Asegurarse de que solo el usuario root pueda leer el archivo de contraseñas
RUN chown root:root /etc/apache2/.htpasswd && chmod 644 /etc/apache2/.htpasswd


# Habilitar módulos necesarios y configurar Apache para permitir la autenticación
RUN a2enmod ssl && \
    a2ensite default-ssl && \
    a2enmod auth_basic && \
    a2enmod authn_core && \
    a2enmod authz_user && \
    a2enmod authz_core


# Configurar certificado SSL
COPY cert/usuario-birt.crt /etc/ssl/certs/usuario-birt.crt
COPY cert/usuario-birt.key /etc/ssl/private/usuario-birt.key


# Configurar acceso y error logs
RUN mkdir /var/log/apache2/usuario-birt
RUN touch /var/log/apache2/usuario-birt/usuariobirt-access.log
RUN touch /var/log/apache2/usuario-birt/usuariobirt-error.log
RUN chown -R www-data:www-data /var/log/apache2/usuario-birt


# Exponer los puertos
EXPOSE 80
EXPOSE 443

Si los archivos del sitio web van a ser modificados constantemente, montalos como volumen. Así no reconstruyes el contenedor cada vez que hagas cambios.
 
Si los archivos del sitio web van a ser modificados constantemente, montalos como volumen. Así no reconstruyes el contenedor cada vez que hagas cambios.
Eso puede ir bien pero sólo en desarrollo. Para ir a producción te conviene hacer COPY o ADD
 
Excelente, buen aporte para aprender un poco de Docker.
 
Atrás
Arriba