[DOCKER] Problème avec un volume et apache

Par BaBeuloula, il y a 9 ans


Outils Linux

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

1 réponse

BaBeuloula, il y a 9 ans

Salut,

Je viens de modifier ma dernière commande pour lancer bash et je viens de voir que le contenu de mon dossier /srv est vide. Alors que j'ai bien fais du ADD dans mon Dockerfile.