Masalah tersebut dapat direproduksi sebagai berikut:
$ docker run -d ubuntu:trusty tail -f /dev/null
c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5
$ stop docker
docker stop/waiting
$ start docker
docker start/running, process 2389
$ docker ps -q
# prints nothing...
$ docker ps -a -q
c39206003c7a
$ docker start c39206003c7a
Error: Cannot start container c39206003c7a: Error getting container c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5 from driver devicemapper: Error mounting '/dev/mapper/docker-253:0-267081-c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5' on '/var/lib/docker/devicemapper/mnt/c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5': device or resource busy
2014/05/08 19:14:57 Error: failed to start one or more containers
$ docker rm c39206003c7a
Error: Cannot destroy container c39206003c7a: Driver devicemapper failed to remove root filesystem c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5: Error running removeDevice
2014/05/08 19:15:15 Error: failed to remove one or more containers
Ini adalah host Ubuntu 14.04 terbaru yang menjalankan lxc-docker 0.11.1. Driver penyimpanan adalah devicemapper dan versi kernel adalah 3.13.0.
Ini adalah regresi dari buruh pelabuhan 0.9 (dari repo resmi Ubuntu). Masalahnya juga ada di 0,10.
@vieira Harap
Langkah-langkah di atas dapat direproduksi bahkan setelah me-reboot mesin.
@alexlarsson bisakah Anda melihatnya? Sepertinya ini terkait dengan devicemapper
Masalahnya sepertinya terkait dengan devicemapper. Saya pikir itu benar-benar sesuatu yang lain.
Saya mencoba ini, dan masalahnya adalah bagian "stop docker". Jika saya hanya menekan ctrl-c daemon buruh pelabuhan itu akan mencoba menghentikan kontainer dengan benar, tetapi sepertinya tidak pernah berhasil menghentikan kontainer. Jadi, saya ctrl-c beberapa kali lagi untuk memaksa buruh pelabuhan mati.
Pada titik ini container (tail) masih berjalan, sehingga device mapper device akan dipasang, yang berarti kita tidak bisa memasangnya lagi, atau menghapusnya. Inilah mengapa operasi ini gagal.
@alexlarsson tahukah Anda cara mudah untuk membersihkan sistem jika terjadi kesalahan?
Nah, jika Anda menemukan proses kontainer pelarian mungkin Anda bisa memaksa membunuhnya.
@vieira Anda dapat melepas:
umount / var / lib / docker / devicemapper / mnt / c39206003c7ae8992a554a9ac2ea130327fc4af1b2c389656c34baf9a56c84b5
dan mulai wadah lagi itu harus bekerja
Saya dapat melihat bahwa buruh pelabuhan saya dimulai dengan -d dan -r. Pertama, saat buruh pelabuhan di-restart, kontainer tidak akan dimulai ulang. Kemudian kesalahan yang disebutkan di atas terjadi (saat mencoba memulai penampung).
Centos 6.5 saya masih mendapatkan 1.0.0.6 dari epel. Apakah ini pernah diidentifikasi sebagai bug di 1.0 dan diperbaiki di 1.1? Adakah yang bisa mengkonfirmasi?
Terima kasih
Halo semuanya, masih belum diperbaiki di 1.1.1.
Langkah-langkah di postingan asli masih berlaku.
Error response from daemon: Cannot start container 5e9bde9b409b:
Error getting container 5e9bde9b409b001bcc685c0b478e925a53a03bab8d8ef3210bf24aa39410e30d
from driver devicemapper:
Error mounting '/dev/mapper/docker-253:0-267081-5e9bde9b409b001bcc685c0b478e925a53a03bab8d8ef3210bf24aa39410e30d'
on
'/var/lib/docker/devicemapper/mnt/5e9bde9b409b001bcc685c0b478e925a53a03bab8d8ef3210bf24aa39410e30d':
device or resource busy
Saya mendapatkan banyak juga, tetapi tampaknya menghapus penampung dalam beberapa hal (karena saya dapat memulai penampung baru dengan nama yang sama)
Apakah ada solusi untuk masalah ini?
Mencari solusi juga.
Sepertinya menghentikan semua kontainer sebelum daemon buruh pelabuhan memperbaiki masalah.
Saya telah menambahkan blok pre-stop
ke pekerjaan pemula saya sebagai solusi:
pre-stop script
/usr/bin/docker ps -q | xargs /usr/bin/docker stop
end script
Berikut adalah inti dari langkah-langkah debugging saya: https://gist.github.com/rochacon/4dfa7bd4de3c5f933f0d
@rochacon Terima kasih atas solusi Anda. Saya akan mengujinya hari ini atau besok dengan 1.2 (sepertinya Anda menguji dengan 1.1.1, kan?). Semoga berhasil.
@vieira Saya juga mencoba dengan 1.2.0, hasil yang sama.
Setelah 4 minggu berjalan, salah satu penampung saya berhenti ... Tidak yakin mengapa ... Bagaimana saya dapat menemukan akar masalahnya?
Bagaimanapun, saya memiliki masalah yang sama ... Ini diselesaikan dengan saran dari @aroragagan : umount, docker start container ... Saya menggunakan RHEL 6.5 omong-omong ...
root<strong i="8">@pppdc9prd3ga</strong> mdesales]# docker start federated-registry
Error response from daemon: Cannot start container federated-registry: Error getting container 4841fcb6e51f4e9fcd7a115ac3efae4b0fd47e4f785c735e2020d1c479dc3946 from driver devicemapper: Error mounting '/dev/mapper/docker-253:0-394842-4841fcb6e51f4e9fcd7a115ac3efae4b0fd47e4f785c735e2020d1c479dc3946' on '/var/lib/docker/devicemapper/mnt/4841fcb6e51f4e9fcd7a115ac3efae4b0fd47e4f785c735e2020d1c479dc3946': device or resource busy
2014/10/17 21:04:33 Error: failed to start one or more containers
[root<strong i="9">@pppdc9prd3ga</strong> mdesales]# docker version
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.2
Git commit (client): d84a070/1.1.2
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.2
Git commit (server): d84a070/1.1.2
[root<strong i="10">@pppdc9prd3ga</strong> mdesales]# umount /var/lib/docker/devicemapper/mnt/4841fcb6e51f4e9fcd7a115ac3efae4b0fd47e4f785c735e2020d1c479dc3946
[root<strong i="11">@pppdc9prd3ga</strong> mdesales]# docker start federated-registry
federated-registry
Kami melihat ini di 1.3.0 sekarang, pada sistem Ubuntu EC2 yang ditingkatkan dari 12.04 menjadi 14.04. Instance dev saya adalah instal langsung 14.04 ke Vagrant dan tidak memiliki masalah ini. Melepas dan memulai ulang penampung tampaknya berhasil, tetapi itu menggagalkan tujuan agar penampung dikonfigurasi untuk memulai ulang secara otomatis saat instans di-boot ulang atau saat pekerja galangan dimulai ulang. Beri tahu saya jika ada informasi lebih lanjut yang dapat saya berikan tentang versi paket pendukung, dll, karena saya memiliki sistem yang berfungsi dan tidak berfungsi.
Melihat masalah yang sama dengan buruh pelabuhan 1.3 Ubuntu 14.04 dengan kernel Linux 3.13 atau 3.14.
@srobertson, apakah Anda merujuk ke "kontainer tidak direstart ketika daemon restart"? Apakah Anda menggunakan kebijakan restart _per-container_ yang baru? Karena daemon -r
/ --restart=true
telah dihapus di Docker 1.2
Kebijakan mulai ulang (per penampung) baru dijelaskan dalam referensi CLI
+1, dapatkan masalah ini di buruh pelabuhan 1.3 @ ArchLinux x86_64 dengan kernel 3.17.2-1-ARCH.
$ docker --version
Docker version 1.3.1, build 4e9bbfa
Umount memecahkan masalahnya.
umount adalah solusi, saya tidak akan mengatakan itu menyelesaikan masalah. Cukup dengan memulai ulang daemon dengan kontainer yang sedang berjalan akan mereproduksi masalah.
umount
berfungsi untuk saya pada versi buruh pelabuhan berikut:
atc@li574-92> docker --version
Docker version 1.3.1, build 4e9bbfa
Saya menghentikan daemon buruh pelabuhan terlebih dahulu, lalu:
umount /dev/mapper/docker-202\:0-729439-a7c53ae579d02aa7bb3aeb2af5f2f79c295e1f5962ec53f16b73896bb3970635
@ mlehner616 Ya, Anda benar. Maaf, tentu saja ini solusi, bukan solusi. Itu hanya pilihan kata yang buruk.
Saya ingin melihat ini diperbaiki juga, tentu saja. =)
fyi, unmounten tidak bekerja untuk saya. Saya mendapatkan pesan kesalahan bahwa tidak ada mount yang dapat ditemukan di / etc / mtab
Docker versi 1.0.0, build 63fe64c / 1.0.0 di RHEL 6.5
Saya telah mengatasinya dengan secara otomatis melepas semua mount lama saat daemon buruh pelabuhan kembali. Saya tidak ingin menambal /etc/init/docker.conf
ubuntu yang besar, jadi saya meletakkan baris kecil di /etc/default/docker
sebagai gantinya:
cat /proc/mounts | grep "mapper/docker" | awk '{print $2}' | xargs -r umount
Itu sepertinya berhasil. Saya telah menggabungkannya dengan memulai pengelolaan baru dan memulai kembali kontainer buruh pelabuhan saya yang sebenarnya, jadi sekarang setelah service docker restart
, semua kontainer akan kembali.
Terima kasih, @jypma , itu juga berhasil untuk saya!
_review session_ dengan @unclejack
Kami akan menggunakan terbitan ini sebagai pelacak untuk sebagian besar laporan "perangkat atau sumber daya sibuk" atau EBUSY
.
Masalah ini, seperti masalah lainnya, diatasi dengan menangani namespace mount dari daemon buruh pelabuhan dengan benar. Saat ini tidak ada penanganan default dari ruang nama mount, jadi kami memiliki masalah seperti EBUSY ini.
Sementara kami mengerjakan solusi resmi untuk menanganinya, ada solusi yang dapat Anda terapkan sendiri. Lihat http://blog.hashbangbash.com/2014/11/docker-devicemapper-fix-for-device-or-resource-busy-ebusy/
Mengonfirmasi bahwa saya mengalami masalah ini juga menggunakan gambar freeipa stok. Saya menghentikan layanan buruh pelabuhan dan ketika saya mencoba untuk memulai ulang bersama dengan kontainer ipa saya mendapatkan yang berikut ini.
$ docker start ipa
Error response from daemon: Cannot start container ipa: Error getting container 98f224de38a0879b8a628179fa29a53b314dfada8c4c2e018113f0affa76f9d2 from driver devicemapper: Error mounting '/dev/mapper/docker-253:0-786581-98f224de38a0879b8a628179fa29a53b314dfada8c4c2e018113f0affa76f9d2' on '/var/lib/docker/devicemapper/mnt/98f224de38a0879b8a628179fa29a53b314dfada8c4c2e018113f0affa76f9d2': device or resource busy
2015/01/11 21:44:38 Error: failed to start one or more containers
Melepas "mount" mengatasi masalah ini sehingga saya dapat memulai ulang penampung.
$ umount /var/lib/docker/devicemapper/mnt/98f224de38a0879b8a628179fa29a53b314dfada8c4c2e018113f0affa76f9d2
$ docker start ipa
ipa
Menggunakan berikut ini:
$ docker version
Client version: 1.3.2
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 39fa2fa/1.3.2
OS/Arch (client): linux/amd64
Server version: 1.3.2
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 39fa2fa/1.3.2
$ lsb_release -i -d
Distributor ID: CentOS
Description: CentOS release 6.6 (Final)
umount memperbaiki masalah saya
buruh pelabuhan --version
Docker versi 1.3.2, build 39fa2fa
Jadi penyelesaian berikut adalah penyelesaian yang sedikit lebih permanen untuk kasus penggunaan saya.
Saya benar-benar menggunakan Amazon linux (RedHat6-Like) jadi saya membuat sedikit modifikasi pada skrip init (yang mungkin akan ditimpa jika buruh pelabuhan diperbarui.) Pada dasarnya semua yang dilakukan ini adalah menghentikan buruh pelabuhan seperti biasa, memeriksa tunggangan buruh pelabuhan yang tersisa , jika ada, lepaskan mereka. YMMV
_ / etc / init.d / docker_
Menambahkan variabel lib (baris ~ 28)
prog="docker"
exec="/usr/bin/$prog"
# Adding lib variable here
lib="/var/lib/$prog"
pidfile="/var/run/$prog.pid"
lockfile="/var/lock/subsys/$prog"
logfile="/var/log/$prog"
Menambahkan blok umount untuk menghentikan fungsi (baris ~ 77)
stop() {
echo -n $"Stopping $prog: "
killproc -p $pidfile -d 300 $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
# BEGIN UMOUNT BLOCK
if [ $(df | grep $lib | awk '{print $1}' | wc -l) -gt 0 ]; then
umount $(df | grep $lib | awk '{print $1}')
fi
# END UMOUNT BLOCK
return $retval
}
Saya mengalami masalah yang sama dengan buruh pelabuhan 1.4.1 menggunakan mapper perangkat sebagai driver penyimpanan. Saya bisa mengumpulkan jejak tumpukan panik dari buruh pelabuhan melalui file log-nya.
$ cat / etc / * rilis
DISTRIB_ID = Ubuntu
DISTRIB_RELEASE = 14,04
DISTRIB_CODENAME = terpercaya
DISTRIB_DESCRIPTION = "Ubuntu 14.04.1 LTS"
NAME = "Ubuntu"
VERSI = "14.04.1 LTS, Tahr Terpercaya"
ID = ubuntu
ID_LIKE = debian
PRETTY_NAME = "Ubuntu 14.04.1 LTS"
VERSION_ID = "14.04"
HOME_URL = " http://www.ubuntu.com/ "
SUPPORT_URL = " http://help.ubuntu.com/ "
BUG_REPORT_URL = " http://bugs.launchpad.net/ubuntu/ "
$ versi buruh pelabuhan
sudo: tidak dapat menyelesaikan host ip-172-30-0-39
Versi klien: 1.4.1
Versi API Klien: 1.16
Go versi (klien): go1.3.3
Git commit (klien): 5bc2ff8
OS / Arch (klien): linux / amd64
Versi server: 1.4.1
Versi API Server: 1.16
Go versi (server): go1.3.3
Git commit (server): 5bc2ff8
$ tail -f / var / log / upstart / buruh pelabuhan
...
INFO [143413] -kecepatan pekerjaan (3dfcbc075227d5b3f0115bd73a1fea4a56a2c0fc68190d84b6d88e93938b4121, 37, 130)
2015/01/22 22:29:22 http: layanan panik @: error runtime: alamat memori tidak valid atau dereferensi pointer nol
goroutine 1932 [berjalan]:
net / http.func · 011 ()
/usr/local/go/src/pkg/net/http/server.go:1100 + 0xb7
runtime.panic (0xbe5c40, 0x127da13)
/usr/local/go/src/pkg/runtime/panic.c:248 + 0x18d
github.com/docker/docker/daemon.(_execConfig).Resize(0xc20989c800, 0x25, 0x82, 0x0, 0x0)
/go/src/github.com/docker/docker/daemon/exec.go:65 + 0x66
github.com/docker/docker/daemon.(_Daemon).ContainerExecResize(0xc208044f20, 0xc20a836e00, 0x1)
/go/src/github.com/docker/docker/daemon/resize.go:49 + 0x314
github.com/docker/docker/daemon._Daemon.ContainerExecResize\fm(0xc20a836e00, 0x7f49bcd007d8)
/go/src/github.com/docker/docker/daemon/daemon.go:132 + 0x30
github.com/docker/docker/engine.(_Job).Jalankan(0xc20a836e00, 0x0, 0x0)
/go/src/github.com/docker/docker/engine/job.go:83 + 0x837
github.com/docker/docker/api/server.postContainerExecResize(0xc208114fd0, 0xc20a55db27, 0x4, 0x7f49bcd08c58, 0xc209498320, 0xc209e
621a0, 0xc20a69c0c0, 0x0, 0x0)
/go/src/github.com/docker/docker/api/server/server.go:1170 + 0x2d1
github.com/docker/docker/api/server.func..002(0x7f49bcd08c58, 0xc209498320, 0xc209e621a0)
/go/src/github.com/docker/docker/api/server/server.go:1219 + 0x810
net / http.HandlerFunc.ServeHTTP (0xc2081b8280, 0x7f49bcd08c58, 0xc209498320, 0xc209e621a0)
/usr/local/go/src/pkg/net/http/server.go:1235 + 0x40
github.com/gorilla/mux.(_Router).ServeHTTP(0xc2080a3cc0, 0x7f49bcd08c58, 0xc209498320, 0xc209e621a0)
/go/src/github.com/docker/docker/vendor/src/github.com/gorilla/mux/mux.go:98 + 0x297
net / http.serverHandler.ServeHTTP (0xc208180480, 0x7f49bcd08c58, 0xc209498320, 0xc209e621a0)
/usr/local/go/src/pkg/net/http/server.go:1673 + 0x19f
net / http. (_ samb) .serve (0xc20a836300)
/usr/local/go/src/pkg/net/http/server.go:1174 + 0xa7e
dibuat oleh net / http. (* Server) .Serve
/usr/local/go/src/pkg/net/http/server.go:1721 + 0x313
...
INFO [0056] HAPUS /v1.16/containers/hoopla_docker_registry
INFO [0056] + rm pekerjaan (hoopla_docker_registry)
Tidak dapat menghancurkan kontainer hoopla_docker_registry: Driver devicemapper gagal menghapus sistem file root 6abcbfefe8bdd485dfb192f8926
3add895cda1ae28b578d4a0d9b23574dedc5c: Perangkat Sibuk
INFO [0066] -pekerjaan rm (hoopla_docker_registry) = ERR (1)
ERRO [0066] Penangan untuk DELETE / containers / { name :. *} mengembalikan kesalahan: Tidak dapat menghancurkan kontainer hoopla_docker_registry: Drive
r devicemapper gagal menghapus filesystem root 6abcbfefe8bdd485dfb192f89263add895cda1ae28b578d4a0d9b23574dedc5c: Device is Busy
ERRO [0066] Kesalahan HTTP: statusCode = 500 Tidak dapat menghancurkan kontainer hoopla_docker_registry: Driver devicemapper gagal menghapus sistem file root 6abcbfefe8bdd485dfb192f89263add895cda1ae28b578d4a0d9b23574dedc5c: Perangkat Sibuk
Saya melihat ini di ubuntu 14.04 (di ec2) dengan 1.4.1 dan juga tidak dengan 1.5. Aneh, karena buruh pelabuhan tampaknya sangat andal di linux mint 17 tetapi sangat tidak dapat diandalkan di server build kami dengan ubuntu 14.04.
Apakah ada cara untuk tidak menggunakan devicemapper, karena masalah ini sepertinya sudah ada sejak 0,9 hari?
Ini juga bisa terjadi dengan overlayf.
Nah, saya baru saja mengganti aufs dan sejauh ini tidak ada masalah.
Apa status masalah ini? Saya melihat beberapa PR digabungkan yang mungkin terkait tetapi tidak ada yang dinyatakan dengan jelas adalah perbaikan untuk ini. Ini adalah masalah _major_ pada produksi dan satu-satunya penyelesaian sekarang adalah menambal skrip init untuk melepas drive dengan bersih.
setelah meninjau ini lagi, ini bukan contoh ideal dari EBUSY
yang semula kami katakan.
Kasus ini lebih berkaitan dengan tutup wadah yang tidak menangani sinyal dengan baik.
Karena kasus reproduksi di sini tail -f /dev/null
tidak keluar pada SIGQUIT
saat daemon keluar, maka driver devmapper tidak dapat membongkar dengan benar (ini tidak eksklusif untuk devmapper). Sebelum daemon dijalankan kembali, Anda dapat melihat tail -f /dev/null
masih berjalan, bahkan saat buruh pelabuhan tidak.
Masalah seperti ini akan membutuhkan pemikiran tentang seberapa drastis memperlakukan pids dalam wadah saat buruh pelabuhan keluar ... @unclejack @crosbymichael pikiran?
Menguji ini di Fedora 21 x86_64. Memberikan informasi untuk tujuan perbandingan hanya karena masalahnya sepertinya tidak ada (lagi?). Hasil yang sama menggunakan centos: 7 atau ubuntu: gambar
$ docker run -d centos:7 tail -f /dev/null
ec496f1a6738430972b79e5f3c9fdbf2527e55817d4638678e3b0dd486191203
$ systemctl stop docker
$ ps ax | grep tail
14681 ? Ss 0:00 tail -f /dev/null
14738 pts/9 S+ 0:00 grep --color=auto tail
$ systemctl start docker
$ docker ps -q
$ docker ps -a -q
ec496f1a6738
$ docker start ec496f1a6738
ec496f1a6738
$ docker rm ec496f1a6738
Error response from daemon: Conflict, You cannot remove a running container. Stop the container before attempting removal or use -f
FATA[0000] Error: failed to remove one or more containers
$ docker stop ec496f1a6738
ec496f1a6738
$ docker rm ec496f1a6738
ec496f1a6738
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Sistem Informasi:
$ uname -a
Linux localhost 3.18.9-200.fc21.x86_64 #1 SMP Mon Mar 9 15:10:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ rpm -q device-mapper docker-io
device-mapper-1.02.93-3.fc21.x86_64
docker-io-1.5.0-1.fc21.x86_64
$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.3.3
Git commit (client): a8a31ef/1.5.0
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.3.3
Git commit (server): a8a31ef/1.5.0
Jalankan saja ini di Docker 1.5, Ubuntu 14.04
root@ip-10-148-25-50:~# docker start service
Error response from daemon: Cannot start container service: Error getting container f3a7515112a0b5af94b0520844ef8c586763d2051b41b1db90e4c4efbd07e774 from driver devicemapper: Error mounting '/dev/mapper/docker-202:1-153948-f3a7515112a0b5af94b0520844ef8c586763d2051b41b1db90e4c4efbd07e774' on '/var/lib/docker/devicemapper/mnt/f3a7515112a0b5af94b0520844ef8c586763d2051b41b1db90e4c4efbd07e774': device or resource busy
FATA[0000] Error: failed to start one or more containers
menjalankan umount /var/lib/docker/devicemapper/mnt/f3a7515112a0b5af94b0520844ef8c586763d2051b41b1db90e4c4efbd07e774
membantu.
Saya memiliki masalah yang sama di Docker 1.5.0, Centos7.0,
[vagrant<strong i="6">@localhost</strong> ~]$ sudo systemctl start docker
[vagrant<strong i="7">@localhost</strong> ~]$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5189b16c0917 mongo:3 "/entrypoint.sh mong 35 minutes ago Exited (128) 29 minutes ago mongod
[vagrant<strong i="8">@localhost</strong> ~]$ sudo docker inspect 5189b16c0917 | grep Error
"Error": "Error getting container 5189b16c0917ff1f87b8aa8ab2e86953887d0e65ad95d0637b0f2213222d55e6 from driver devicemapper: Error mounting '/dev/mapper/docker-253:1-134,
umount gagal.
[vagrant<strong i="12">@localhost</strong> ~]$ sudo stat /var/lib/docker/devicemapper/mnt/5189b16c0917ff1f87b8aa8ab2e86953887d0e65ad95d0637b0f2213222d55e6
File: `/var/lib/docker/devicemapper/mnt/5189b16c0917ff1f87b8aa8ab2e86953887d0e65ad95d0637b0f2213222d55e6'
Size: 6 Blocks: 0 IO Block: 4096 ディレクトリ
Device: fd01h/64769d Inode: 201732136 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-03-21 20:36:14.407505308 +0900
Modify: 2015-03-21 20:16:58.863146490 +0900
Change: 2015-03-21 20:16:58.863146490 +0900
Birth: -
[vagrant<strong i="13">@localhost</strong> ~]$ sudo umount /var/lib/docker/devicemapper/mnt/5189b16c0917ff1f87b8aa8ab2e86953887d0e65ad95d0637b0f2213222d55e6
umount: /var/lib/docker/devicemapper/mnt/5189b16c0917ff1f87b8aa8ab2e86953887d0e65ad95d0637b0f2213222d55e6: not mounted
[vagrant<strong i="14">@localhost</strong> ~]$ grep docker /proc/mounts
(no results)
[vagrant<strong i="18">@localhost</strong> ~]$ cat /etc/centos-release
CentOS Linux release 7.0.1406 (Core)
[vagrant<strong i="19">@localhost</strong> ~]$ uname -a
Linux localhost.localdomain 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[vagrant<strong i="20">@localhost</strong> ~]$ sudo docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.3.3
Git commit (client): a8a31ef/1.5.0
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.3.3
Git commit (server): a8a31ef/1.5.0
[vagrant<strong i="21">@localhost</strong> ~]$ rpm -qi docker
Name : docker
Version : 1.5.0
Release : 1.el7
Architecture: x86_64
Install Date: 2015年03月21日 20時04分29秒
Group : Unspecified
Size : 27215826
License : ASL 2.0
Signature : (none)
Source RPM : docker-1.5.0-1.el7.src.rpm
Build Date : 2015年02月12日 05時10分39秒
Build Host : c1bj.rdu2.centos.org
Relocations : (not relocatable)
Packager : CBS <[email protected]>
Vendor : CentOS
URL : http://www.docker.com
Summary : Automates deployment of containerized applications
Description :
Docker is an open-source engine that automates the deployment of any
application as a lightweight, portable, self-sufficient container that will
run virtually anywhere.
Saya mereproduksinya dengan buruh pelabuhan 1.3.2 dari repositori resmi CentOS7.
$ rpm -qi docker
Name : docker
Version : 1.3.2
Release : 4.el7.centos
Architecture: x86_64
Install Date: 2015年03月22日 02時44分58秒
Group : Unspecified
Size : 25505685
License : ASL 2.0
Signature : RSA/SHA256, 2014年12月11日 04時21分03秒, Key ID 24c6a8a7f4a80eb5
Source RPM : docker-1.3.2-4.el7.centos.src.rpm
Build Date : 2014年12月11日 04時15分49秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.docker.com
Summary : Automates deployment of containerized applications
buruh pelabuhan 1.5.0 mendapat bug yang sama
Error response from daemon: Cannot destroy container 485bf8d6502a: Driver devicemapper failed to remove root filesystem 485bf8d6502a6cf448075d20c529eb24f09a41946a5dd1c61a99e17
Masalah yang sama di sini, mudah direproduksi
docker run -it --name busybox --rm busybox tail -f /dev/null
On another shell:
root<strong i="6">@staging5</strong>:/home/shopmedia #service docker stop
Stopping docker: [ OK ]
root<strong i="7">@staging5</strong>:/home/shopmedia #service docker start
Starting docker: [ OK ]
root<strong i="8">@staging5</strong>:/home/shopmedia #docker rm -f busybox
Error response from daemon: Cannot destroy container busybox: Driver devicemapper failed to remove root filesystem 124cd3329e0fafa6be2a284b36a75571666745436c601a702a4beedb75adc7c0: Device is Busy
FATA[0011] Error: failed to remove one or more containers
Lingkungan Hidup
docker version
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8/1.4.1
OS/Arch (client): linux/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8/1.4.1
cat /etc/centos-release
CentOS release 6.6 (Final)
cat /proc/version
Linux version 2.6.32-504.8.1.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Jan 28 21:11:36 UTC 2015
rpm -q device-mapper
device-mapper-1.02.90-2.el6_6.1.x86_64
EDIT: Satu-satunya solusi bagi saya (saya tidak menggunakan system.d) adalah memperbarui /etc/init.d/docker, baris 50 dengan perintah unshare. Perbaikan telah disediakan oleh @vbatts , Terima kasih btw
Namun, perbaikan ini tidak dapat diskalakan. Kami tidak ingin memperbarui setiap mesin yang kami miliki + Ini akan terhapus saat kami memperbarui buruh pelabuhan.
Terima kasih
Saya pikir https://github.com/docker/docker/pull/12400 akan memperbaiki ini. Ini karena shutdown daemon buruh pelabuhan akan membuat container yang berjalan tidak dibersihkan (jika container tidak dimatikan dalam 10 detik, rootf container masih akan dipasang) dan tidak akan bisa dihapus pada daemon start berikutnya. (Saya menguji overlay)
Terima kasih @ coolljt0725 .
1) Docker versi apa yang akan diimplementasikan?
2) Apa saja pilihan saya yang lain?
3) Apakah itu mempengaruhi semua sistem operasi?
4) Apakah ini memengaruhi semua kernel?
Terima kasih
1 untuk solusi umount. terjadi pada saya dengan buruh pelabuhan 1.6.0, build 4749651.
layanan docker restart tidak menyelesaikannya. umount 'volume' yang bermasalah memperbaikinya.
Docker 1.6.1 (Ubuntu 14.04) masih mengalami masalah ini. umount
bekerja.
Docker 1.6.2 (Ubuntu 14.04) umount
tidak berfungsi
Docker 1.7.0 Centos 6.5 masih memiliki masalah yang sama.
Saya baru saja mendapatkan ini di Centos 6.3 setelah memutakhirkan ke Docker 1.7. Pemutakhiran merestart buruh pelabuhan (jelas), dan ketika saya pergi untuk me-restart kontainer, semua kontainer node.js saya restart, tetapi yang menjalankan uwsgi memberikan kesalahan:
# docker start 48596c91d263
Error response from daemon: Cannot start container 48596c91d263: Error getting container 48596c91d263e44201f9141e7bc701ab9e11fe691c61eadc95019fcfa0e4a549 from driver devicemapper: Error mounting '/dev/mapper/docker-8:17-262147-48596c91d263e44201f9141e7bc701ab9e11fe691c61eadc95019fcfa0e4a549' on '/local/docker/devicemapper/mnt/48596c91d263e44201f9141e7bc701ab9e11fe691c61eadc95019fcfa0e4a549': device or resource busy
Melakukan umount /local/docker/devicemapper/mnt/48596c91d263e44201f9141e7bc701ab9e11fe691c61eadc95019fcfa0e4a549
TIDAK memperbaiki masalah.
Sama di Debian. Tidak dapat memulai penampung apa pun, bahkan saat menarik gambar hello-world yang benar-benar segar.
root<strong i="6">@vamp1</strong>:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from hello-world
a8219747be10: Pull complete
91c95931e552: Already exists
hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provi
de security.
Digest: sha256:aa03e5d0d5553b4c3473e89c8619cf79df368babd18681cf5daeb82aab55838d
Status: Downloaded newer image for hello-world:latest
Error response from daemon: Cannot start container 69be8cff86828d1f4ca3db9eeeeb1a8891ce1e305bd07847108750a0051846ff: device or resource busy
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): linux/amd64
Server version: 1.7.0
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 0baf609
OS/Arch (server): linux/amd64
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
@tnolet Harap berikan docker info
.
@unclejack docker info
untuk host saya adalah
$ docker info
Containers: 24
Images: 128
Storage Driver: devicemapper
Pool Name: docker-8:17-262147-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file:
Metadata file:
Data Space Used: 2.897 GB
Data Space Total: 107.4 GB
Data Space Available: 104.5 GB
Metadata Space Used: 7.918 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.14 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Library Version: 1.02.89-RHEL6 (2014-09-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.81-1.el6.elrepo.x86_64
Operating System: <unknown>
CPUs: 4
Total Memory: 7.812 GiB
Name: radioedit-app101
ID: RY22:ODAC:5NT5:MSBZ:Y52X:L33V:UCHA:IOIL:SR23:YX3U:IILJ:J44R
WARNING: No swap limit support
@tdterry RHEL 6 dan CentOS 6 tidak lagi didukung oleh Red Hat untuk digunakan dengan Docker. Harap tingkatkan ke RHEL 7 atau CentOS 7.
Docker secara resmi mendukung Centos 6.5 (https://docs.docker.com/installation/centos/). Selain itu, kami telah memperbarui kernel menjadi 3.10. Orang lain di sini melaporkan kesalahan itu ada di CentOS 7 juga. Sepertinya lebih seperti masalah peta perangkat daripada masalah versi CentOS. Saya tidak punya alasan untuk percaya bahwa memutakhirkan ke CentOS 7 akan melakukan sesuatu yang berbeda.
Saya baru saja memiliki ini di CentOS 7, Docker versi 1.6.0, build 4749651 dengan devicemapper. 15 kontainer saya semuanya rusak. Saya mencoba menghapus beberapa gambar yang menjuntai dan mendapatkan kesalahan yang sama:
Error response from daemon: Cannot destroy container: Driver devicemapper failed to remove root filesystem : Device is Busy
Containers: 25
Images: 237
Storage Driver: devicemapper
Pool Name: docker-253:2-8594920394-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 22.03 GB
Data Space Total: 107.4 GB
Data Space Available: 85.34 GB
Metadata Space Used: 25.47 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.122 GB
Udev Sync Supported: false
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Kernel Version: 3.10.0-229.4.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 24
Total Memory: 141.5 GiB
Name: localhost.localdomain
@amalagaura dengan daemon dihentikan, menjalankan mount | grep docker
mungkin menampilkan beberapa direktori yang dipasang (seperti /dev/mapper/docker-253:2-7995406-6296eddc5eaca30246c02d9b9c956161825bd7e92882a357214e091feba6f9b0 on ...
). Anda dapat umount
ini terlebih dahulu, kemudian menjalankan daemon lagi. Jika masalah masih ada, dmsetup ls | grep docker
dan lihat entri seperti docker-253:2-7995406-6296eddc5eaca30246c02d9b9c956161825bd7e92882a357214e091feba6f9b0 (253:5)
. Di antaranya Anda dapat menelepon dmsetup remove docker-253:2-7995406-6296eddc5eaca30246c02d9b9c956161825bd7e92882a357214e091feba6f9b0
@vbatts Terima kasih atas bantuannya. Masalah sebenarnya kami adalah bahwa cluster produksi kami yang terdiri dari 15 mesin baru saja mati. Ini pembahasan yang berbeda, tapi apa yang harus dilakukan jika kita menginginkan dukungan pada buruh pelabuhan?
Saya memiliki masalah serupa setelah saya meningkatkan ke 1.7, itu berfungsi dengan baik di 1.6.2 di ElementOS.
Setiap kali saya memulai wadah apa pun , saya mendapatkan pesannya
Respons kesalahan dari daemon: Tidak dapat memulai penampung 560640442c770dff574f5af7b6cdcc8e86ba8a613db87bf90a77aea7f0db322a: perangkat atau sumber daya sibuk
Saya membersihkan buruh pelabuhan, rm -rf / var / lib / buruh pelabuhan, dan dengan instalasi baru masih mendapatkan kesalahan yang sama saat menjalankan image hello-world.
Saya juga memperhatikan bahwa folder menumpuk di / var / docker / lib / aufs / mnt setelah setiap upaya yang gagal.
Saya sangat sering memukul ini, dan saya menggunakan aufs, bukan devicemapper:
$ sudo docker info
Containers: 3
Images: 2278
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 2284
Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.5.0-54-generic
Operating System: Ubuntu precise (12.04.2 LTS)
CPUs: 8
Total Memory: 7.725 GiB
Name: (omitted)
ID: DWS4:G2M5:XD2Q:CQKA:5OXF:I3RB:6M6F:GUVO:NUFM:KKTF:4RB2:X3HP
Beri tahu saya jika ada informasi debugging lagi yang dapat saya berikan.
Melihat masalah yang sama. umount
tidak berfungsi, dikatakan folder tidak dipasang. Saya mengamati ini dengan buruh pelabuhan 1.5.0, lalu saya memperbarui ke 1.7.1 dengan efek yang sama.
$ docker info
Containers: 15
Images: 91
Storage Driver: devicemapper
Pool Name: docker-202:1-149995-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file:
Metadata file:
Data Space Used: 2.225 GB
Data Space Total: 107.4 GB
Data Space Available: 105.1 GB
Metadata Space Used: 5.03 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.142 GB
Udev Sync Supported: false
Deferred Removal Enabled: false
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-40-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 1
Total Memory: 3.676 GiB
WARNING: No swap limit support
Melihat hal yang sama di ubuntu 14.04
$ docker info
Containers: 6
Images: 537
Storage Driver: devicemapper
Pool Name: docker-8:1-262623-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file:
Metadata file:
Data Space Used: 7.546 GB
Data Space Total: 107.4 GB
Data Space Available: 99.83 GB
Metadata Space Used: 19.05 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.128 GB
Udev Sync Supported: false
Deferred Removal Enabled: false
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-52-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 2
Total Memory: 2.939 GiB
Name: test-app
ID: F5T4:5AIR:TDBZ:DGH4:WBFT:ZX6A:FVSA:DI4O:5HE2:CJIV:VVLZ:TGDS
WARNING: No swap limit support
$ docker version
Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64
Saya akan menjalankan aplikasi dan apakah masalah ini telah teratasi, saya tidak dapat menggunakan buruh pelabuhan dalam produksi karena saya telah mengalami beberapa kontainer macet dan saya tidak dapat menghapusnya tanpa reboot sistem, yang merupakan masalah pada sistem produksi.
@trompx devicemapper dengan sinkronisasi udev dinonaktifkan tidak akan berfungsi.
Ini adalah bagian dari alasan kami sekarang menawarkan biner dinamis (yang memperbaiki masalah sinkronisasi), bukan biner statis.
Saya akan merekomendasikan untuk mengganti repo Anda dari get.docker.com (dan paket lxc-docker) dengan repo apt.dockerproject.org (dan paket docker-engine).
Lihat http://blog.docker.com/2015/07/new-apt-and-yum-repos/ untuk lebih jelasnya.
Ada juga status penampung (ish) baru yang disebut "mati", yang disetel saat ada masalah saat menghapus penampung. Ini tentu saja merupakan solusi untuk masalah khusus ini, yang memungkinkan Anda pergi dan menyelidiki mengapa ada kesalahan device or resource busy
(mungkin kondisi balapan), dalam hal ini Anda dapat mencoba menghapus lagi, atau mencoba secara manual fix (mis. unmount semua mount yang tersisa, lalu hapus).
Mungkin graphdrivers dapat menjadi sedikit lebih tangguh dalam kasus di mana kita memiliki semacam perlombaan dengan fs (misalnya, coba unmount lagi).
@ cpuguy83 Terima kasih atas infonya. Saya sekarang menggunakan versi terakhir dengan udev true tetapi ketika saya mencoba menyiapkan sistem pemantauan logging, terjadi masalah yang mengakibatkan semua penampung saya dengan status "Keluar (137)" lalu "mati" dan mencoba menghapusnya mencegah saya dari menghapusnya "Respons error dari daemon: Tidak dapat menghancurkan container 9ca0b5642a55: Driver devicemapper gagal menghapus filesystem root". Jadi saya masih punya masalah ini.
Saya tidak bisa melihat apa yang terjadi karena saya menggunakan driver syslog (untuk mencoba mengatur sistem logging saya) jadi saya tidak begitu tahu apa yang terjadi. Saya akan memberi tahu Anda jika saya menyelesaikan masalah ini.
@trompx Jika ini tergantung dari penginstalan sebelumnya, ini dapat menyebabkan masalah.
Setelah kontainer dalam keadaan "mati" Anda dapat docker rm -f
mereka lagi untuk menghapusnya dari buruh pelabuhan dan mereka tidak akan muncul lagi. Kemungkinan file hilang sehingga devicemapper tidak dapat menemukannya.
Saya berhasil membuatnya crash lagi tetapi dengan waktu itu log driver json on. Setelah memeriksa log dari semua kontainer, hanya haproxy yang mengembalikan beberapa input berguna "/run.sh: fork: Cannot mengalokasikan memori". Saya sedikit kehabisan memori tanpa swap, dan saya pasti kehabisan memori. Jika itu penyebabnya, apakah itu berarti Docker akan crash saat kehabisan memori, sehingga keluar dari semua container?
@trompx Tentu tidak ada yang menghentikan Docker dari menjadi OOM terbunuh.
Container tidak keluar jika buruh pelabuhan mengalami crash, namun ketika buruh pelabuhan mulai kembali itu mematikan semua container yang sedang berjalan (dan memulai yang memiliki kebijakan restart).
Saya melihat ini secara teratur ketika menggunakan docker-compose 1.4.2 dan docker-engine 1.8.3 di Ubuntu 14.04.
@superdump versi kernel?
@gionn : 3.13.0-65-generik
@superdump @gionn ditto versi perangkat lunak yang sama, kernel 3.13.0-67-generik
di AWS menggunakan SSD EBS
Adakah yang mencoba dengan buruh pelabuhan 1.9 untuk melihat apakah hal itu telah diperbaiki? Ada beberapa pekerjaan yang berhubungan dengan volume ...
Volume (dalam arti memperluas data di luar siklus hidup kontainer) adalah fitur yang berbeda dari apa yang terpengaruh di sini bukan?
Jika unshare mounts adalah solusi yang bisa diterapkan untuk masalah ini, tidak bisakah buruh pelabuhan melakukannya secara default saat daemon dimulai ..?
Itu seharusnya cukup sederhana untuk diterapkan ..
Ini sederhana untuk dilakukan dan ada berbagai cara untuk menyelesaikan tugas ini. Itu
pengelola tidak ingin menerima permintaan penarikan yang melakukan ini karena itu
adalah "hack".
Pada Jum, 27 Nov 2015 pukul 06.49 Andreas Stenius [email protected]
menulis:
Jika unshare mounts adalah solusi yang bisa diterapkan untuk masalah ini, tidak dapat melakukan docker
yang secara default ketika daemon dimulai ..?
Itu seharusnya cukup sederhana untuk diterapkan ..-
Balas email ini secara langsung atau lihat di GitHub
https://github.com/docker/docker/issues/5684#issuecomment -160153438.
Itu tidak benar. Kami memang memiliki ini dan itu menyebabkan masalah jadi kami mengembalikannya. Sepele bagi Anda untuk melakukannya jika itu tidak menimbulkan masalah bagi Anda.
Terimakasih atas infonya. Kami telah menambahkan "retas" yang tidak dibagikan pada beberapa node,
lihat bagaimana kelanjutannya ...
gratis 27 nov. 2015 kl. 19:01 skrev Brian Goff [email protected] :
Itu tidak benar. Kami memang memiliki ini dan itu menyebabkan masalah jadi kami mengembalikannya.
Sepele bagi Anda untuk melakukannya jika itu tidak menimbulkan masalah bagi Anda.-
Balas email ini secara langsung atau lihat di GitHub
https://github.com/docker/docker/issues/5684#issuecomment -160182860.
Hai,
Saya mendapatkan masalah yang dibahas di atas saat menggunakan Docker.
Failed to remove container (da3b06dc0723): Error response from daemon: Unable to remove filesystem for da3b06dc072328112eec54d7b0e00c2c355a8ef471e1ba3c82ab3ffb8e93891f: remove /var/lib/docker/containers/da3b06dc072328112eec54d7b0e00c2c355a8ef471e1ba3c82ab3ffb8e93891f/shm: device or resource busy
Failed to remove container (99cfba26be16): Error response from daemon: Unable to remove filesystem for 99cfba26be16bf7b475aaa4ed3d50f7fca3179082decc60f1418d22745f5a855: remove /var/lib/docker/containers/99cfba26be16bf7b475aaa4ed3d50f7fca3179082decc60f1418d22745f5a855/shm: device or resource busy
Failed to remove container (c34922906202): Error response from daemon: Unable to remove filesystem for c34922906202713a573a45f18f8db45ad6788bde2255f75b0f0e027800721b26: remove /var/lib/docker/containers/c34922906202713a573a45f18f8db45ad6788bde2255f75b0f0e027800721b26/shm: device or resource busy
Informasi Versi Docker saya adalah sebagai berikut:
Klien:
Versi: 1.10.2.0
Versi API: 1.22.0
Go versi: go1.5.3
Git commit: c3959b1
Dibangun: Sen 22 Feb 21:37:01 2016
OS / Arch: linux / amd64
Server:
Versi: 1.10.2.0
Versi API: 1.22.0
Go versi: go1.5.3
Git commit: c3959b1
Dibangun: Sen 22 Feb 21:37:01 2016
OS / Arch: linux / amd64
Perlu dicatat bahwa saya menemukan masalah ini baru-baru ini. Saya telah bekerja dengan Docker hampir setahun.
Hai,
Hanya ingin menyebutkan bahwa setelah saya me-restart komputer saya, saya menemukan bahwa kontainer yang sebelumnya tidak dihapus telah dihapus. Ini memang menyelesaikan masalah yang dihadapi, tetapi akan menjengkelkan jika kontainer menumpuk dan selalu harus me-reboot OS.
@chirangaalwis +1. Pernahkah Anda memperhatikan ini terjadi setelah penampung telah berjalan selama beberapa waktu atau apakah itu terjadi langsung setelah memulai penampung?
Hai,
Sejauh yang saya ingat, saya mengalami ini setelah waktu yang cukup lama sejak dimulainya kontainer. Tidak setelah waktu yang sangat lama tepatnya.
Ngomong-ngomong alangkah baiknya jika seseorang bisa memberikan penjelasan yang menyeluruh tentang alasan dibalik masalah ini. Saya relatif baru dengan konsep containerization.
@chirangaalwis sudahkah Anda memeriksa masalah ini: https://github.com/docker/docker/issues/17902 Tampaknya ini khusus untuk versi kernel. Saya akan memutakhirkan kernel pada mesin yang mengalami masalah di sekitar hari berikutnya dan melihat apakah itu menyelesaikannya.
+1. Ya sepertinya begitu, bahkan versi kernel saya adalah 3.13. Ya, saya juga akan memeriksa dengan ini, peta dengan apa yang telah saya laporkan.
@chirangaalwis @kabobbob ... Saya menggunakan RHEL 7.2 dan kernel 3.10.
[root<strong i="7">@pe2enpmas301</strong> npmo-server]# uname -a
Linux pe2enpmas301.corp.intuit.net 3.10.0-327.3.1.el7.x86_64 #1 SMP Fri Nov 20 05:40:26 EST 2015 x86_64 x86_64 x86_64 GNU/Linux
Saat menghentikan dan memulai kontainer menggunakan docker-compose
, saya terus-menerus mendapatkan kesalahan ini ....
Recreating npmoserver_policyfollower_1
ERROR: Driver devicemapper failed to remove root filesystem 3bb07965510f2c398c0fc99c3e0ce4696914f710efabc47f2df19ecf85725021: Device is Busy
Satu-satunya solusi adalah berhenti, dan tunggu beberapa detik sebelum mencoba lagi. Masalahnya adalah restart tidak dijamin berhasil. Saya terkadang mencoba beberapa kali untuk memulai ulang.
@chirangaalwis @marcellodesales Saya bisa mengupgrade server ke kernel 3.16 dan mencoba container stop dan rm. Semua sepertinya bekerja dengan baik. Akan perlu bekerja dan melihat apakah masalah telah teratasi.
@kabobbob tolong laporkan dalam beberapa hari jika itu terbukti bekerja lebih baik ... Saya akan mencoba meningkatkan lingkungan pra-prod saya dan melaporkan.
Apakah ini di rhel 7.2 - pembaruan yum && reboot systemctl memperbaikinya.
Menggunakan LVM langsung dan Docker versi 1.9.1
Saya juga mengalami masalah ini. Pengaturan saya: Ubuntu 14.04, diperbarui ke kernel "3.19.0-58-generic # 64 ~ 14.04.1-Ubuntu". Docker versi 1.11.0, build 4dc5990. "docker-compose versi 1.7.0, build 0d7bf73".
Saat docker-compose up -d
memulai ulang penampung karena gambar baru, sering kali tidak dapat menghapus penampung yang dihentikan.
Hanya reboot yang akan membantu untuk memulai penampung. Maka masalahnya bukan 100% dapat direproduksi tetapi itu sering terjadi. Jadi saya terpaksa sering mereboot mesin host :-(
$ docker rm 5435d816c9a3_dockercomposeui_docker-compose-ui_1
Error response from daemon: Driver devicemapper failed to remove root filesystem 5435d816c9a35c63a5a636dc56b7d9052f1681ae21d604127b1685dab3848404: Device is Busy
dan
# docker ps -a | grep dockercomposeui
5435d816c9a3 c695fdb43f7a "/env/bin/python /app" 2 days ago Dead 5435d816c9a3_dockercomposeui_docker-compose-ui_1
@dsteinkopf Apakah Anda mengalami ini setelah meningkatkan dari 1,10 ke 1,11? Adakah alasan Anda menggunakan devicemapper di Ubuntu? Secara keseluruhan, default (aufs) akan memberi Anda kinerja yang lebih baik. Pada kernel 3.19, overlay mungkin merupakan pilihan yang lebih baik
Tidak, masalah sudah ada menggunakan buruh pelabuhan 1.10 dan dengan ubuntu 14.04-kernel default (~ 3.10 menurut saya) dan dengan menggunakan aufs. Kemudian saya mengupgrade (langkah demi langkah) driver penyimpanan, kernel dan buruh pelabuhan. Tidak ada perubahan signifikan pada masalah yang dialami ...
Apakah menurut Anda, ada baiknya mencoba overlay tentang masalah ini? (Performa bukanlah masalah besar dalam kasus saya.)
@thaJeztah Saya tidak pernah melihat masalah ini sebelumnya dan sejak saya
Apakah Anda mengalami ini setelah meningkatkan dari 1,10 ke 1,11
Saya memiliki masalah ini :(
Masih pakai ini
RHEL 7.2 kernel-3.10.0-327.el7.x86_64
Docker versi 1.9.1, build 78ee77d / 1.9.1
device-mapper-libs-1.02.107-5.el7_2.1.x86_64
Juga mendapat masalah:
docker rm agent4
Error response from daemon: Driver aufs failed to remove root filesystem 16a3129667975c411d0084b38ba512761b64eaa7853f3452a7f8e4f2898d1175: rename /var/lib/docker/aufs/diff/76125e9141ec9de7c12e20d41b00cb44826b19bedf98bd9c650cb7a7cc07913a /var/lib/docker/aufs/diff/76125e9141ec9de7c12e20d41b00cb44826b19bedf98bd9c650cb7a7cc07913a-removing: device or resource busy
versi buruh pelabuhan
Client:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 18:26:49 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 18:26:49 2016
OS/Arch: linux/amd64
info buruh pelabuhan
Containers: 9
Running: 8
Paused: 0
Stopped: 1
Images: 80
Server Version: 1.11.0
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 193
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 3.16.0-4-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 31.45 GiB
Name: chell
ID: BXX3:THMK:SWD4:FP35:JPVM:3MV4:XJ7S:DREY:O6XO:XYUV:RHXO:KUBS
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory limit support
WARNING: No oom kill disable support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
uname -a
Linux chell 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux
Ini adalah campuran dari berbagai masalah. Saya pikir kita harus menutup ini. Tak satu pun dari kasus terbaru yang dilaporkan mirip dengan OP.
@guenhter Saya curiga ini terkait dengan masalah lain dengan memasang / var / dijalankan ke dalam wadah (wadah lain di host Anda) atau memasang / var / lib / buruh pelabuhan
@guenhter Untuk catatan # 21969
Selain itu, banyak dari masalah pra-1.11 dengan kesalahan tipe "perangkat atau sumber daya sibuk" kemungkinan besar karena mematikan daemon (tidak terlacak) dan kemudian memulainya kembali.
Hal ini menyebabkan jumlah ref internal pada dudukan driver penyimpanan disetel ulang ke 0, sementara tunggangan itu sendiri masih aktif.
1.11 menangani kasus itu.
Menutup karena alasan yang disebutkan di atas.
Maaf - Saya tidak yakin apakah saya mengerti ini. Apa yang Anda maksud dengan "Tidak ada kasus terbaru yang dilaporkan seperti OP"?
Apa yang harus saya (dan orang lain yang mengalami masalah ini) lakukan? Buka kasus lain?
@dsteinkopf Ya, sedetail yang Anda berikan (buat file, log daemon, dll.).
Halo hanya untuk mencatat tentang masalah yang telah saya tentukan sebelumnya, saya telah meningkatkan versi kernel saya ke 4.4.0-21-generik dan info versi buruh pelabuhan adalah sebagai berikut:
Klien:
Versi: 1.11.0.0
Versi API: 1.23
Go versi: go1.5.4
Git commit: 4dc5990
Dibangun: Rabu 13 Apr 18:38:59 2016
OS / Arch: linux / amd64
Server:
Versi: 1.11.0.0
Versi API: 1.23
Go versi: go1.5.4
Git commit: 4dc5990
Dibangun: Rabu 13 Apr 18:38:59 2016
OS / Arch: linux / amd64
Masalah yang dilaporkan sebelumnya tampaknya telah berhenti terjadi. Docker digunakan untuk waktu yang cukup lama dengan memutakhirkan versi kernel dan sepertinya telah berhenti.
Menemukan solusi untuk masalah ini, setidaknya saat digunakan dengan docker-compose, lihat https://github.com/docker/docker/issues/3786#issuecomment -221601065
Masalah yang sama dengan penampung yang gagal dimulai ulang.
Ubuntu 14.04
Kernel: 3.13.0-24-generik
Versi Docker:
Client:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 18:34:23 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 18:34:23 2016
OS/Arch: linux/amd64
Kesalahan:
Error response from daemon: Driver aufs failed to remove root filesystem
802f3a6eb28f8f16bf8452675a389b1d8bf755e59c827d50bec9372420f4194a:
rename /var/lib/docker/aufs/diff/79e53988cfddcc3fb9868316bd9d8c3d7a825fd09a8620553c148bd96243224f /var/lib/docker/aufs/diff/79e53988cfddcc3fb9868316bd9d8c3d7a825fd09a8620553c148bd96243224f-removing:
device or resource busy
Lepas gagal:
umount: /var/lib/docker/devicemapper
/mnt/79e53988cfddcc3fb9868316bd9d8c3d7a825fd09a8620553c148bd96243224f is not mounted
(according to mtab)
Ini masih menjadi masalah bagi kami (menggunakan 1.11.2 di Ubuntu 14.04.4 LTS (dengan KVM) (3.13.0-88-generik)).
Apakah ada tiket terbuka yang saya dapat berlangganan untuk mendapatkan pembaruan?
@GameScripting Lihat # 21704
Linux zk1 3.10.0-327.28.3.el7.x86_64 (centos 7)
Docker versi 1.12.1, build 23cf638
Respons kesalahan dari daemon: Driver devicemapper gagal menghapus sistem file root 228f2c2da3de4d5abd3881184aeb330a4c18e4311ecf404e2fb8cd4ffe15e901: devicemapper: Kesalahan menjalankan DeleteDevice dm_task_run gagal
Baru saja mengalami ini. /etc/init.d/docker restart
membantu, saya senang ini tidak ada di mesin produksi ... 😢
$ docker --version
Docker version 1.11.1, build 5604cbe
Masih mendapatkan ini juga
$ docker --version
Docker version 1.12.2, build bb80604
Masalah yang sama, telah terjadi di banyak versi Docker. Saya menggunakan docker-compose
untuk membuat ulang kontainer. Terkadang itu bekerja dengan bersih, terkadang tidak. Memulai ulang daemon buruh pelabuhan atau me-reboot server akan membersihkan container yang buruk.
Arch Linux; devicemapper container di ext4 FS.
$ docker version
Client:
Version: 1.12.3
API version: 1.24
Go version: go1.7.3
Git commit: 6b644ec
Built: Thu Oct 27 19:42:59 2016
OS/Arch: linux/amd64
Server:
Version: 1.12.3
API version: 1.24
Go version: go1.7.3
Git commit: 6b644ec
Built: Thu Oct 27 19:42:59 2016
OS/Arch: linux/amd64
$ docker info
Containers: 24
Running: 22
Paused: 0
Stopped: 2
Images: 56
Server Version: 1.12.3
Storage Driver: devicemapper
Pool Name: docker-8:3-13500430-pool
Pool Blocksize: 65.54 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 9.394 GB
Data Space Total: 107.4 GB
Data Space Available: 78.15 GB
Metadata Space Used: 24.82 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.123 GB
Thin Pool Minimum Free Space: 10.74 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.135 (2016-09-26)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.7.2-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 30.85 GiB
Name: omega
ID: IR7W:NSNN:F2B3:YP32:YTQJ:OFEB:2XLK:HHCK:HJ33:5K3O:KEHI:SDUB
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
dev devtmpfs 16169500 0 16169500 0% /dev
run tmpfs 16173076 2712 16170364 1% /run
/dev/sda3 ext4 447260560 371064976 53453004 88% /
tmpfs tmpfs 16173076 0 16173076 0% /dev/shm
tmpfs tmpfs 16173076 0 16173076 0% /sys/fs/cgroup
tmpfs tmpfs 16173076 1144 16171932 1% /tmp
/dev/sda1 ext4 289293 45063 224774 17% /boot
tmpfs tmpfs 3234612 8 3234604 1% /run/user/1000
/dev/sdb2 ext4 403042160 15056296 367489480 4% /run/media/ivan/backup
/dev/sda4 ext4 480580312 320608988 135536228 71% /run/media/ivan/ARCHIVES
/dev/sdb3 ext4 225472980 1473948 212522604 1% /run/media/ivan/data
Jika itu membantu ...
Saya yakin bahwa saya juga mengalami masalah yang sama / serupa di sini. Jika menerapkan layanan menggunakan compose up -d dan kemudian perbarui nama image ke nama lain di compose.yaml dan lakukan compose lain -d compose gagal dengan error di sekitar devicemapper:
Kesalahan
EROR: untuk <
Informasi Versi:
versi buruh pelabuhan
Klien:
Versi: 1.12.1.0
Versi API: 1.24
Go versi: go1.6.3
Git commit: 23cf638
Dibangun di:
OS / Arch: linux / amd64
Server:
Versi: 1.12.1.0
Versi API: 1.24
Go versi: go1.6.3
Git commit: 23cf638
Dibangun di:
OS / Arch: linux / amd64
Sebagai solusi sementara, saya telah menambahkan docker-compose down --rmi semua sebelum menjalankan ulang up.
Saya juga memiliki masalah yang sama di versi Docker: 1.12.3
Saya cukup yakin orang lain yang mengalami masalah ini terkait dengan # 27381
Saya melihat ini di buruh pelabuhan 1.12.3 di CentOs 7
dc2-elk-02: / root / staging / ls-helper $ docker --version
Docker versi 1.12.3, build 6b644ec
dc2-elk-02: / root / staging / ls-helper $ uname -a
Linux dc2-elk-02 3.10.0-327.36.3.el7.x86_64 # 1 SMP Sen 24 Okt 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
dc2-elk-02: / root / staging / ls-helper $ docker rm ls-helper
Respons kesalahan dari daemon: Driver devicemapper gagal menghapus sistem file root e1b9cdeb519d2f4bea53a552c8b76c1085650aa76c1fb90c8e22cac9c2e18830: Perangkat Sibuk
PS Saya tidak menggunakan docker compose.
Digigit setelah host keluar-of-disk-space.
Perintah apa pun yang memengaruhi titik pemasangan akan macet (termasuk "docker ps", "sync", "ls
Saya memiliki masalah serupa, saya melihat kesalahan ini seperti di file / var / log / syslog saya:
Dec 16 14:32:18 rzing dockerd[3093]: time="2018-12-16T14:32:18.627417173+05:30" level=error msg="Failed to load container mount 00d7b9d64ff6c465276e67f5a5e3642ebacd9616c7602d4361b3a7fab038510a: mount does not exist"
Dec 16 14:32:18 rzing dockerd[3093]: time="2018-12-16T14:32:18.627816711+05:30" level=error msg="Failed to load container mount fb108b942f8ed87a9e1affb6480ed477a8f5f823b2639e36348cde4a97924c5e: mount does not exist"
Saya mencoba mencari titik pemasangan di bawah /var/lib/docker/volumes
tetapi tidak menemukan apa pun
akhirnya reboot sistem memperbaiki masalah
Komentar yang paling membantu
Ini masih menjadi masalah bagi kami (menggunakan 1.11.2 di Ubuntu 14.04.4 LTS (dengan KVM) (3.13.0-88-generik)).
Apakah ada tiket terbuka yang saya dapat berlangganan untuk mendapatkan pembaruan?