Salut à tous,
J'ai commencé cette après-midi à regarder Docker pour mon propre serveur et je n'arrive pas à faire le lien avec mon volume et j'ai du mal avec la configuration d'apache.
Est-ce que quelqu'un a une idée d'où cela pourrai venir en regardant les codes :
Dockerfile
# Image de base
FROM ubuntu:16.04
# Qui maintient le Dockerfile
MAINTAINER BaBeuloula <babeuloula@gmail.com>
# On refresh les packages
RUN apt-get update
# Installation d'Apache2
RUN apt-get install -y apache2
# Activation de la réécriture d'URL
RUN a2enmod rewrite
# On cré les variables d'environement pour les utiliser plus facilement
ENV APACHE_CONF_FILE /etc/apache2/apache2.conf
# On ajoute localhost comme nom de serveur
RUN echo "ServerName localhost" >> $APACHE_CONF_FILE
# On cache la signature du serveur
RUN echo "ServerSignature Off" >> $APACHE_CONF_FILE
RUN echo "ServerTokens Prod" >> $APACHE_CONF_FILE
# On active HTTP2
#RUN echo "Protocols h2 http/1.1" >> $APACHE_CONF_FILE
# On supprime les configurations par defaut
RUN rm -f /etc/apache2/sites-enabled/*
RUN rm -f /etc/apache2/sites-available/*
# On inclu les fichiers de conf
ADD srv/conf/apache/ /srv/conf/apache/
RUN echo "IncludeOptional /srv/conf/apache/*.conf" >> $APACHE_CONF_FILE
RUN echo "IncludeOptional /srv/conf/apache/sites/*.conf" >> $APACHE_CONF_FILE
# On cré le dossier où seront stockés les sites
RUN mkdir /srv/sites
# On cré le dossier où seront stockés les logs des sites
RUN mkdir /srv/logs
RUN mkdir /srv/logs/error
RUN mkdir /srv/logs/access
# Redirection d'un port local vers l'exterieur
EXPOSE 80
EXPOSE 443
EXPOSE 8443
# Permet de persister un dossier dans l'image
VOLUME ["/srv"]
# On lance Apache
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
babs-server.conf
#<Directory /srv>
# Option Indexes FollowSymLinks
# AllowOverride All
# Require all granted
#</Directory>
Listen 8443
0000-default.conf
<VirtualHost *:8443>
ServerAdmin test@test.fr
DocumentRoot /srv
ErrorLog /srv/logs/error.log
CustumLog /srv/logs/access.log combined
</VirtualHost>
0001-default.conf
<VirtualHost *:80>
ServerAdmin test@test.fr
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /srv/logs/error.log
CustumLog /srv/logs/access.log combined
</VirtualHost>
J'ai exécuté :
sudo docker build -t babs-server/apache-php7 .
L'image se build bien mais dès que je veux la lancer :
sudo docker run --rm -ti -v /srv:/srv -p 80:80 -p 8443:8443 babs-server/apache-php7
J'ai ce message :
apache2: Syntax error on line 225 of /etc/apache2/apache2.conf: Could not open config directory /srv/conf/apache: No such file or directory
Action '-D FOREGROUND' failed.
The Apache error log may have more information.
Je vois pas en quoi mon import du fichier de conf babs-server.conf n'est pas bon. J'ai la même chose que dans ports.conf
Et le dossier /srv n'est pas synchronisé avec mon ordinateur.
Merci par avance de vos réponses car là je bloque totalement