webentwicklung-frage-antwort-db.com.de

Docker-Fehler: Fehler beim Verarbeiten der TAR-Datei (Beendigungsstatus 1): unerwartet EOF

Ich brauchte Platz und führte Folgendes aus: docker rmi $(docker images -f "dangling=true" -q)

Seitdem kann ich nicht mit Docker-Compose: docker-compose build, ich erhalte die Fehlermeldung: ERROR: Error processing tar file(exit status 1): unexpected EOF.

Ich habe versucht, alle Bilder zu entfernen, das Docker neu zu installieren, aber es wird nichts passieren: Immer der gleiche Fehler, nach einiger Zeit.

Ich habe auf einem anderen System aufgebaut und es hat funktioniert, was schlägt vor, dass dies ein Problem mit dem falschen Zustand ist.

Irgendeine Idee was ich reinigen soll?

Mit:

▶ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.24 (downgraded from 1.26)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 08:01:32 2017
 OS/Arch:      linux/AMD64

Server:
 Version:      1.12.6
 API version:  1.24 (minimum version )
 Go version:   go1.6.2
 Git commit:   78d1802
 Built:        Tue Jan 31 23:35:14 2017
 OS/Arch:      linux/AMD64
 Experimental: false

▶ docker-compose version
docker-compose version 1.11.2, build dfed245
docker-py version: 2.1.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
20

Es gibt einen integrierten Befehl zum Entfernen nicht verwendeter Bilder (Version 1.13 und höher):

docker image Prune

Um jetzt mit der Situation fertig zu werden:

  • Stoppen Sie den Docker Service

    systemctl stop docker
    
  • Backup /var/lib/docker dann:

  • /var/lib/docker Entfernen Achtung: Dadurch werden Images, Container, Volumes usw. entfernt.

    rm -rf /var/lib/docker
    
  • Starten Sie den Docker-Dienst 

    systemctl start docker  
    

Update:

Wie in der anderen Antwort erwähnt, kann es in manchen Fällen zu Problemen mit Dateiberechtigungen kommen. Bitte überprüfen Sie die Berechtigungen.

10
Farhad Farahi

Ich hatte das gleiche Problem und die bestätigte Antwort funktionierte nicht für mich.

Es stellte sich heraus, dass ich eine Datei mit Berechtigungen hatte, die es dem Benutzer nicht erlaubte, Docker-Compose auszuführen. Nach dem Entfernen der Datei war alles in Ordnung

37
Oktav

Für mich stellte sich das Problem heraus, dass ein Docker Pull aufgehängt wurde, also habe ich STRG + C ausgezogen und es erneut versucht. Gleiche Fehlermeldung 

Am Ende fand ich in diesem Verzeichnis einige Dateien, die root gehörten. Durch die richtigen Berechtigungen für die Dateien wurde das Problem behoben.

chown -R <username>:<group> /var/lib/docker/tmp

  • MAC Docker-Version 17.12.0-ce, Build c97c6d6
1
BJH

Für mich war es ein Erlaubnisfehler. Ich ging gegen genau das gleiche Problem wie PR, ERROR: Error processing tar file(exit status 1): unexpected EOFMeine Lösung ist schmutzig, aber für mich funktioniert

chown -R 777 /foo/bar/project

Sie möchten fast immer verhindern, dass Berechtigungen für 777 festgelegt werden. 655 ist sinnvoller.

0 = ---
1 = --x
2 = -w-
3 = -wx
4 = r-
5 = r-x
6 = rw-
7 = rwx

Eine ausführlichere Erklärung finden Sie hier: https://www.pluralsight.com/blog/it-ops/linux-file-permissions

0
Annihilator708

Wenn Sie versucht haben, Berechtigungen durchzusehen, Docker-Reset, Docker-System, Löschen Sie alle Container, löschen Sie alle Bilder (baumelnd oder nicht), lesen Sie alles über das Problem und haben Sie keinen Erfolg. Deinstallieren Sie das Docker und installieren Sie die stabile Version erneut.

Der Fehler, mit dem ich zu kämpfen hatte, war: Error processing tar file(exit status 1): mkdir /some/path/name: no such file or directory

0
Sheetal Kaul

Referenz: https://medium.com/the-code-review/clean-out-your-docker-images-containers-and-volumes-with-single-commands-b8e38253c271

1. Bereinigen Sie Container, Images, Volumes und Netzwerke in Ihrem System:
Dockersystem Prune --all --force --volumes
2. docker-compose up

0
Padmini C

Versuchen Sie, den Speicher für Docker zu erhöhen. Das Problem wurde für mich behoben.

Die Docker-Speichereinstellung in den Voreinstellungen wurde auf 2 GB festgelegt. Beim Abrufen des ~ 3 GB-Bildes erhielt ich genau diesen Fehler: 

$ docker pull skymindops/skil-ce
latest: Pulling from skymindops/skil-ce
118c5f2883d6: Pull complete 
3d199b2e6224: Extracting [==================================================>]  2.902GB/2.902GB
failed to register layer: Error processing tar file(exit status 1): unexpected EOF

Das Speicherlimit wurde erhöht (ich habe den Swap erhöht, aber unsicher, ob er benötigt wurde oder nicht).

0
Rost

In meinem Fall war das Problem eine .dump-Datei, die von einem der Skripts meines Projekts erstellt wurde. 

docker-compose übergibt den Kontext als tar-Datei an die Engine. Daher packte der Befehl build einen tar (die .dump-Datei) in eine andere tar-Datei (den Docker-Kontext) und warf daher einen unerwarteten EOF im Kontext.

Da ich die Dump-Datei nicht im Container benötige, habe ich sie meiner Dockerignore-Datei hinzugefügt.

0
Pablo Carbajal

Ich habe alles versucht, vom Neustart über die Neuinstallation von Docker bis zum Löschen von /var/lib/docker.

Meine Ursache war eine Beschädigung des Build-Kontexts in meinem Projekt. Nachdem ich git clean Ausgeführt habe, um das Projektverzeichnis auf den ursprünglichen Zustand zurückzusetzen, konnte ich docker-compose.

Führen Sie git clean -iXd Im Stammverzeichnis Ihres Projekts aus, um git clean Interaktiv auszuführen.

Edit: Nach einer Weile ist es wieder passiert. Diesmal hat git clean Das Problem nicht behoben. Ich bin mir ziemlich sicher, dass es nur unter Ubuntu passiert. Meine Arch-Mitarbeiter sind dem noch nie begegnet.

0