diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fc8bd45 --- /dev/null +++ b/Dockerfile @@ -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 " + 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