Docker ERROR: Tar faylini qayta ishlash xatosi (chiqish holati 1): kutilmagan EOF

I needed space and executed: docker rmi $(docker images -f "dangling=true" -q)

Shu vaqtdan boshlab docker-compose bilan ishlay olmayman: docker-compose build , xatoga yo'l qo'yaman: Xato: Tar faylini qayta ishlash xatosi (chiqish holati 1): kutilmagan EOF .

Barcha tasvirlarni olib tashlashga, dockerni qayta o'rnatishga harakat qildim, lekin hech narsa qila olmaydi: har doim ham bir xil xato, ancha vaqtdan so'ng.

Boshqa tizimga qurilganman va u ishlamayapti, bu taklif qiladi , bu noto'g'ri-holatga oid muammo.

Nimani tozalashim kerakligi haqida har qanday fikr bormi?

Foydalanish:

▶ 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
16
qayta tiklashdan oldin /var/lib/docker katalogini butunlay o'chirib tashlashga harakat qildingizmi? E'tibor bergan: Bu, barcha hajmlari, konteynerlarni, tasvirlarni o'chirib tashlaydi ... avval uni zaxiralang.
qo'shib qo'ydi muallif Farhad Farahi, manba
Menga oid katalogda bir necha gigabayt yadro to'plami mavjud bo'lganida bu muammo yuzaga keldi. Docker katalogini omadsiz olib tashlashga harakat qildim, lekin keyin core faylini olib tashlash bu muammoni bartaraf etdi.
qo'shib qo'ydi muallif Andrew Kravchuk, manba

6 javoblar

Xuddi shu masala bor edi va tasdiqlangan javob men uchun ishlamadi.

Foydalanuvchimga docker-ni yaratishga ruxsat bermagan ruxsatnomalar bilan faylim borligini aniqlaydi. Faylni olib tashlaganingizdan keyin hamma narsa OK edi

32
qo'shib qo'ydi
Bundan tashqari, konteyner ichidagi faylni yaratilgan resurslar bilan bir qatorda joylashgan o'rnatilgan uy egasi hajmiga yozdim. chown - R $ USER uni o'zgartirdi.
qo'shib qo'ydi muallif Stefan, manba
@ dondublon muhim emas. fayllar orasida nima borligiga bog'liq, docker bilan ishlashga harakat qilmoqda. faqatgina chown -R bo'lishi kerak bo'lgan foydalanuvchi uchun loyiha jildingiz. Menimcha, konteynerlarimdan biri ildiz egasi bo'lgan va egasidan boshqa hech kimga o'qishga ruxsat berilmagan faylni yozgan
qo'shib qo'ydi muallif Oktav, manba
Va qanday fayl edi?
qo'shib qo'ydi muallif dondublon, manba
Men javob izlayotganimda, sizning e'tiboringizni e'tibordan chetda qoldirdim, chunki mening ishimda ruxsat berishga aloqasi yo'q. Men nohaq edim. Bir papkada "tushgan ma'lumotlar" deb belgilangan fayl bor edi. Ushbu fayl docker konteyneri tomonidan yaratilgan bo'lishi mumkin va uning ruxsatiga ruxsat yo'q edi. Xullas, men xatolarimni takrorlamayman, barcha loyiha papkalarni diqqat bilan tekshiring.
qo'shib qo'ydi muallif Desprit, manba
Bu mening javobim edi. Ilgari docker run loyiha papkasida ildizga ega bo'lgan bash_history faylini tark etdi.
qo'shib qo'ydi muallif Routhinator, manba

Foydalanilmay qolgan rasmlarni olib tashlash uchun buyruqlar mavjud (Version 1.13+):

docker image prune

Endi vaziyatni boshqarish uchun:

  • Stop Docker Service

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

  • Remove /var/lib/docker Caution: This will remove images, containers, volumes, ... make sure you back it up first.

    rm -rf /var/lib/docker
    
  • Start Docker service

    systemctl start docker  
    

Yangilash:

Boshqa javobda qayd etilganidek, "somecases" da fayl ruxsatnomalari muammosi bo'lishi mumkin. Ruxsatnomalarni ko'rib chiqing.

6
qo'shib qo'ydi
Sen yaxshisan! :) Yordamni qanday qilib qo'llab-quvvatlayman, chunki baribir qayta tiklashim kerak, to'g'rimi? Yaxshi, chunki u mening ishlab chiqarish mashinam.
qo'shib qo'ydi muallif Augustin Riedinger, manba
Gotcha. Ammo rasmlarni qayta tiklashni istasam, /var/lib/docker/image ni qayta tiklashim kerak va u qutidan tashqarida ishlaydi?
qo'shib qo'ydi muallif Augustin Riedinger, manba
Odatda ppl ko'p rasm va konteynerlarga ega bo'lib, ular bir necha kundan so'ng ma'lumotlarni eslab qolishadi, shuning uchun doimo ularni qo'llab-quvvatlashni rag'batlantiraman.
qo'shib qo'ydi muallif Farhad Farahi, manba
Bu kerak, lekin men o'zimni sinab ko'rishga harakat qildim, boshqa yo'l docker saqlash va docker yuk buyrug'idan foydalanadi.
qo'shib qo'ydi muallif Farhad Farahi, manba
Bularning hammasi ham yordam bermadi. Muammo boshqa javobga ko'ra ruxsat berilgan.
qo'shib qo'ydi muallif Routhinator, manba
xuddi shu masala. Bu menga yordam bermadi :(
qo'shib qo'ydi muallif Alexander Vagin, manba

Men uchun muammo Docker Pull-ning osilganligi aniqlandi, shuning uchun CTRL + C chiqdi va yana harakat qildi. Xuddi shu xato xabari.

Oxir-oqibat, ushbu papkada ildizga ega bo'lgan ba'zi fayllarni topdim. Fayllarga tegishli ruxsatnomalar berish muammo bartaraf etildi.

chown -R : /var/lib/docker/tmp

  • MAC Docker versiyasi 17.12.0-ce, c97c6d6 yaratish
1
qo'shib qo'ydi

Mening vaziyatimda muammo mening loyihamning skriptlaridan biri tomonidan yaratilgan .dump fayli edi.

docker-compose passes the context to the engine as a tar file, therefore, the build command was packing a tar (the .dump file) inside another tar file (the docker context) hence throwing an unexpected EOF on the context.

Konteynerda .dump fayliga kerak emas, chunki uni mening .dockerignore faylga qo'shdim.

0
qo'shib qo'ydi

Agar ruxsatnomalarni ko'rib chiqmoqchi bo'lsangiz, docker reset, docker sistemasini kesib tashlash, barcha konteynerlarni yo'q qilish, barcha rasmlarni o'chirish (silliq yoki boshqa), ushbu muammo atrofida hamma narsalarni o'qib chiqish va muvaffaqiyatsiz bo'lgan. Docker-ni o'chirishni va barqaror versiyani qayta o'rnatishni harakat qilib ko'ring.

Although, the error I was struggling with was : Error processing tar file(exit status 1): mkdir /some/path/name: no such file or directory

0
qo'shib qo'ydi

Docker uchun xotirani oshirib ko'ring, bu men uchun muammoni hal qildi.

Tercihlar docker xotirasi sozlamalari 2GBga o'rnatildi, shuning uchun ~ 3 GB hajmdagi rasmni tortganda, men ushbu xatoni to'liq bilib oldim:

$ 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

Ruxsat etilgan xotira limitini oshirish (men almashtirishni ko'paytirdim, lekin ishonch hosil bo'lmagan yoki kerak emas edi).

0
qo'shib qo'ydi