2017-01-21 5 views
2

Ich habe das Bild eboraas/apache-php mit dem folgenden Befehl:Debian Docker Konfigurationsdatei

docker run --name eboraas -d -p 80:80 -v /my/project/dir/:/var/www/html \ 
    -v /my/config:/etc/apache2 eboraas/apache-php 

Wenn ich testen, dies komme ich der Server nicht gefunden wird. Wenn ich das zweite -v verlasse, funktioniert es. Aber wie kann ich das Ziel meiner apache2 config Dateien dann ändern? Ohne sie wieder zu schreiben. Zum Beispiel möchte ich alle meine Konfigurationsdateien des Docker Apache in /my/config.

Antwort

1

Die erste Option erstellen Sie Ihr eigenes Bild basierend auf dem Originalbild eboraas/apache-php (Sie sollten Ihre eigene Dockerfile erstellen) und COPY in Ihrer Dockerfile verwenden.

FROM eboraas/apache-php 
COPY /my/config /etc/apache2 

Wie es funktioniert: Wenn Sie Ihre lokale Apache-Konfigurationsdatei ändern, sollten Sie Bild danach wieder aufzubauen und neu zu starten Container Änderungen zu übernehmen.

2. Option ist nur docker cp verwenden und nach jeder Änderung in Ihrem lokalen Apache-Konfigurationsdatei ausführen:

docker cp /my/config eboraas:/etc/apache2/ 

Sie können kopieren Konfigurationsdatei auch wenn Sie es im Inneren des Behälters ändern:

docker cp eboraas:/etc/apache2/ /my/config 

Weitere Informationen https://docs.docker.com/engine/reference/commandline/cp/.

BTW. Ich empfehle Ihnen, docker-compose zu verwenden, da dieser Befehl lang und nicht komfortabel zu verwenden ist (https://docs.docker.com/compose/).

Verwandte Themen