Hallo,
Ich verwende Docker-Compose + Docker-Computer, um meine Dienste auf Remote-Cloud-Computern bereitzustellen. Mir ist aufgefallen, dass die erste Phase des docker-compose build
für mich mit einer anständigen Internetverbindung sehr langsam ist (normalerweise zwischen 3 Minuten und 15 Minuten).
Wenn Sie mit --verbose
laufen, beträgt die langsame Phase docker build <- (pull=False, nocache=False, stream=True, tag=u'backenddev_web', path='XXX', rm=True, dockerfile='Dockerfile-production')
Nach dem, was ich auf dem Aktivitätsmonitor meines Laptops sehen kann, ist dies eine Phase, in der einige Daten hochgeladen werden. Ich habe auch festgestellt, dass die Zeit abnimmt, wenn ich die Größe des Verzeichnisses verkleinere, aus dem ich erstelle. Die Upload-Geschwindigkeit in dieser Phase liegt zwischen 100Ko / s und 200Ko / s, egal ob ich auf Google Compute oder Digital Ocean aufbaue - was sich ziemlich langsam anfühlt. Ich sollte in der Lage sein, mindestens 800Ko / s hochzuladen.
Irgendeine Idee, wie ich die Dinge beschleunigen oder tiefer in mein Problem eintauchen kann?
Vielen Dank.
Der erste Teil von build
besteht darin, den Build-Kontext in die Docker-Engine hochzuladen. Der Build-Kontext ist alles im Verzeichnis und in Unterverzeichnissen. Wenn Sie große Datendateien oder große .git
, laden Sie möglicherweise viele unnötige Dinge hoch. .dockerignore
wurde hinzugefügt, damit Sie alle Dateien überspringen können, die Sie nicht hochladen möchten.
https://docs.docker.com/reference/builder/#dockerignore -file
Dies sollte helfen, da bereits .git
gespart wurden, ohne
Großartig!
Der erste Teil von
build
besteht darin, den Build-Kontext in die Docker-Engine hochzuladen. Der Build-Kontext ist alles im Verzeichnis und in Unterverzeichnissen. Wenn Sie große Datendateien oder große.git
, laden Sie möglicherweise viele unnötige Dinge hoch..dockerignore
wurde hinzugefügt, damit Sie alle Dateien überspringen können, die Sie nicht hochladen möchten.https://docs.docker.com/reference/builder/#dockerignore -file
Ich muss dir ein großes Gefallen geben, deine Antwort löst mein Problem wirklich.
Hilfreichster Kommentar
Der erste Teil von
build
besteht darin, den Build-Kontext in die Docker-Engine hochzuladen. Der Build-Kontext ist alles im Verzeichnis und in Unterverzeichnissen. Wenn Sie große Datendateien oder große.git
, laden Sie möglicherweise viele unnötige Dinge hoch..dockerignore
wurde hinzugefügt, damit Sie alle Dateien überspringen können, die Sie nicht hochladen möchten.https://docs.docker.com/reference/builder/#dockerignore -file