Para quem quiser aprender Docker+php

  • Autor Autor mchojrin
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
mchojrin

mchojrin

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Les dejo por aquí el enlace al workshop que realicé para Nerdearla101



Se aceptan preguntas 🙂
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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.


Inserir CODE, HTML ou 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.


Inserir CODE, HTML ou 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.
 
Voltar
Topo