Upload files to "/"

This commit is contained in:
2026-09-16 20:36:32 +02:00
parent 8d5c9e2457
commit cf6cf14432
3 changed files with 137 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
# Only the instructions RUN, COPY, ADD create layers
# Reference image
FROM ubuntu:latest
# Meta data (OCI standard)
LABEL org.opencontainers.image.title="My image"
LABEL org.opencontainers.image.description="My description"
LABEL org.opencontainers.image.authors="Pierre ROYER <mail@pierreau.fr>"
LABEL org.opencontainers.image.url="https://pierreau.fr/pro/"
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
RUN apt-get update && apt-get upgrade -y
RUN apt install -y --no-install-recommends \
apache2 \
cron \
curl \
openssh-server \
tzdata \
vim \
wget
# Remove unnecessary files to optimize image size
RUN apt clean ; rm -rf /var/lib/apt/lists/*
# Setup time zone
ENV TZ=Europe/Paris
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata
# Apache configuration
RUN echo 'ServerName apache.pierreau.fr:80' >> /etc/apache2/apache2.conf
# Copying files from host to container
# RUN cd /var/www/html/
# RUN mv index.html index.html.old
# COPY index.html /var/www/html/
# RUN wget https://cloud.pierreau.fr/index.html
# Allows adding URLs or archives
ADD https://cloud.pierreau.fr/index.html .
# 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
+46
View File
@@ -0,0 +1,46 @@
networks:
frontend:
name: frontend
ipam:
config:
- subnet: 172.31.32.0/24
labels:
com.example.purpose: "Frontend network"
backend:
external: true
name: backend
volumes:
MariaDB.Data:
name: mariadb.data
services:
phpmyadmin:
image: phpmyadmin:latest
container_name: pierreau.phpmyadmin
depends_on:
- mariadb
restart: on-failure
environment:
- PMA_ARBITRARY=1
networks:
- frontend
- backend
ports:
- "8080:80"
mariadb:
image: mariadb:latest
container_name: pierreau.mariadb
restart: always
networks:
- backend
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: MariaDBpwd
MYSQL_DATABASE: MariaDBdb
MYSQL_USER: MariaDBuser
MYSQL_PASSWORD: MariaDBpwd
volumes:
- MariaDB.Data:/var/lib/mysql
+16
View File
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Cloud de notre formation priv&eacutee</title>
<meta charset="utf-8">
<style>
body { background-color: darkgrey; color: black;}
h1 { color: LightGreen }
img { width: 60%; margin: auto; display: block; }
</style>
</head>
<body>
<h1>Le site Internet de notre formation</h1>
<p>Notre serveur web est fonctionnel !</p>
</body>
</html>