Upload files to "/"

This commit is contained in:
2026-04-19 12:36:04 +02:00
parent c075b64ca0
commit 5b5ced50b6

View File

@@ -1,75 +1,32 @@
# Only the instructions RUN, COPY, ADD create layers # Image de référence
# Reference image
FROM ubuntu:latest FROM ubuntu:latest
# Meta data (OCI standard) # Données méta
LABEL org.opencontainers.image.title="My image" LABEL org.opencontainers.image.title="Serveur Apache"
LABEL org.opencontainers.image.description="My description" LABEL org.opencontainers.image.version="1"
LABEL org.opencontainers.image.authors="Pierre ROYER <mail@pierreau.fr>" LABEL org.opencontainers.image.revision="0"
LABEL org.opencontainers.image.url="https://pierreau.fr/pro/" LABEL environment="formation"
LABEL org.opencontainers.image.version="2"
LABEL org.opencontainers.image.revision="1"
LABEL org.opencontainers.image.created="2016-11-28T15:00:00+02:00" # UTC+2 (rfc3339)
# Meta data (not standard)
LABEL Environment="production" Site="Nantes"
# Installing packages without interruption (Debian)
# ARG DEBIAN_FRONTEND=noninteractive
# Commands executed during image creation
# Change mirror source for best performances
RUN sed -i 's/ports.ubuntu.com/fr.ports.ubuntu.com/' /etc/apt/sources.list.d/ubuntu.sources
# Commandes exécuteés pendant la création de limage
RUN apt-get update && apt-get upgrade -y RUN apt-get update && apt-get upgrade -y
RUN apt install -y --no-install-recommends \ RUN apt install -y apache2
apache2 \ RUN apt-get clean ; rm -rf /var/lib/apt/lists/*
cron \
curl \
openssh-server \
tzdata \
vim \
wget
# Remove unnecessary files to optimize image size # Configuration Apache
RUN apt clean ; rm -rf /var/lib/apt/lists/* RUN echo 'ServerName apache.formation.fr:80' >> /etc/apache2/apache2.conf
# Setup time zone # Spécifier de répertoire courant
ENV TZ=Europe/Paris WORKDIR /var/www/html/
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata
# Apache configuration # Copie du fichier host vers le conteneur
RUN echo 'ServerName apache.pierreau.fr:80' >> /etc/apache2/apache2.conf RUN mv index.html index.html.old
COPY index.html .
# Copying files from host to container # Commande lancée au démarrage du conteneur
# RUN cd /var/www/html/ # CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]
# RUN mv index.html index.html.old
# COPY index.html /var/www/html/
# RUN wget https://cloud.pierreau.fr/index.html # Vérifie létat de santé (pour un serveur web)
# HEALTHCHECK --start-period=30s --interval=1m --timeout=2s --retries=5 CMD curl -f http://localhost/ || exit 1
# Allows adding URLs or archives # Port réseau utilisé
ADD https://cloud.pierreau.fr/index.html . EXPOSE 80/tcp
# Mount points created in container
VOLUME ["/var/www/html", "/etc/apache2", "/var/log/apache2/"]
# Adding a user
RUN useradd -m -s /bin/bash -p M0t2P@$$ sshuser
USER sshuser
# Specifies default directory
WORKDIR /home/sshuser
RUN echo "df -h" > .profile
USER root
# ENTRYPOINT command (not overridable by docker run) launched at container startup
# COPY docker-entrypoint.sh /root/
# RUN chmod 700 /root/docker-entrypoint.sh
# ENTRYPOINT ["/root/docker-entrypoint.sh"]
# Command (overloadable by docker run) launched when the container starts
CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]
# For information purposes, specifies the ports/protocols used
EXPOSE 80 22/tcp 123/udp