Wie kann ich eine Datei über Dockerfile im Docker-Container überschreiben?

Lesezeit: 2 Minuten

Benutzer-Avatar
Ciro Caiazzo

Ich muss eine Datei über Dockerfile überschreiben. Insbesondere auf einem Ubuntu-Container mit Apache und PHP muss ich die Datei php5-cgi.conf überschreiben. Ich habe versucht, den folgenden Befehl zu verwenden:

COPY php5-cgi.conf /etc/apache2/conf-enabled/php5-cgi.conf

aber ich hatte den fehler: File already exists

Ich habe auch versucht, den folgenden Befehl zu verwenden

RUN cp -f php5-cgi.conf /etc/apache2/conf-enabled/

aber die Datei wird nicht kopiert, wenn der Container läuft, gibt es dazu einen Rat?

  • Sie sollten eine akzeptierte Antwort auswählen.

    – Grant Foster

    29. Januar 2019 um 16:11 Uhr

  • Da es ein Jahr später ist und Sie es immer noch nicht getan haben: Bitte wählen Sie eine Antwort aus.

    – Worp

    11. April 2020 um 10:16 Uhr

  • Das ist das Einzige, was sie jemals auf dieser Seite getan haben. Wahrscheinlich kommen sie nie wieder.

    – ADJenks

    12. August 2021 um 18:46 Uhr

Löschen Sie den Dateinamen aus dem Ziel:

COPY php5-cgi.conf /etc/apache2/conf-enabled/

Das Ziel ist ein absoluter Pfad (nicht Dateiname) oder ein Pfad relativ zum Arbeitsverzeichnis, in das die Quelle innerhalb des Zielcontainers kopiert wird.

  • Ich würde lieber das „in das“ zitieren.

    – Константин Ван

    3. August 2019 um 3:07 Uhr

Benutzer-Avatar
Farhad Farahi

Ich habe gerade die folgende Docker-Datei ohne Probleme getestet.

from debian:jessie
COPY debian_version /etc/debian_version

Wie PolarisUser in den Kommentaren angegeben hat, müssen Sie setzen debian_version im selben Ordner wie dockerfile oder verwenden absolute path. Eine andere Möglichkeit wäre das Mounten der Datei beim Ausführen des Containers.

docker run -d -v php5-cgi.conf:/etc/apache2/conf-enabled/php5-cgi.conf --name your_container_name <imagename:tag> <startup command>

  • Stellen Sie einfach sicher, dass sich debian_version am selben Speicherort wie die Dockerfile befindet. Dies ist jedoch die richtige Antwort.

    – PolarisUser

    30. November 2016 um 19:13 Uhr

Benutzer-Avatar
Volleyballspieler

docker cp "yourfilename" "containername":/destination

Unten ist ein funktionierendes Beispiel:

docker cp config.json bigdataapp:/app/src/bigdatapp/wwwroot/assets/config/config.json

1303980cookie-checkWie kann ich eine Datei über Dockerfile im Docker-Container überschreiben?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy