dockerfile: Wie funktioniert COPY?

Hoeze

Lieutenant
Registriert
Juni 2010
Beiträge
696
Hi,
ich hab mir einen Ordner mit einem Dockerfile und einem Ordner config/ gemacht.
Jetzt würde ich gerne alles, was in config/ liegt, in das Dockerimage kopieren:
COPY ./config/* /
Allerdings scheint Docker die bereits existierenden Dateien nicht zu überschreiben.
Wie kann ich COPY dazu anweisen, alles existierende zu überschreiben?
 
Hallo
Code:
cp [OPTIONEN] QUELLE ZIEL 

-a oder --archive	Beibehaltung von Besitzer-, Gruppen- und Zugriffsrechten und Erstellungs-, Modifikations- und Zugriffsdaten (entspricht -dR --preserve=all)
-b oder --backup	Sichert Dateien vor dem Überschreiben, wenn diese unterschiedlich sind
-d	erhält symbolische Links, folgt ihnen aber nicht beim Kopieren (entspricht -P --preserve=links)
[B]-i oder --interactive	fragt vor Überschreiben nach[/B]
-l oder --link	kopiert nicht, sondern erstellt harten Link
-n oder --no-clobber	niemals vorhandene Dateien überschreiben (-i wird wirkungslos)
-p (klein) oder --preserve=mode,ownership,timestamps	erhält Standard-Dateiattribute, wie Zeitpunkt des letzten Schreibzugriffs
-P (groß) oder --no-dereference	Symbolische Links als symbolische Links kopieren, statt den Links in der Quelle zu folgen
-r oder -R oder --recursive	Verzeichnisse rekursiv kopieren (Unterverzeichnisse eingeschlossen)
-s oder --symbolic-link	kopiert nicht, sondern erstellt symbolischen Link
-u oder --update	kopiert nur, wenn Zieldatei älter als Quelldatei
-v oder --verbose	zeigt den Kopierfortschritt an


Ich hoffe damit kommt du weiter Link
 
Danke für deine Antwort.
Allerdings bezieht sich meine Frage nicht auf den Unix-Befehl cp sondern auf die Anweisung COPY in einem Dockerfile.
 
Bin auch noch am lernen, daher ohne Gewähr mal ein Ansatz, wie ich das versuchen würde:

1) RUN rm /dein/config/path/*
2) ADD config/* /dein/config/path/

Alternativ, falls du alle configs außerhalb liegen hast, kannst du sie auch einfach als volume reinmounten mit -v beim Starten.
 
Zurück
Oben