Tidak dapat menjalankan docker hello-world: mountpoint untuk perangkat yang tidak ditemukan

12

Baru mengenal buruh pelabuhan.

Diinstal buruh pelabuhan dari alat manajemen perangkat lunak di mint 17.

Ketika saya menjalankan docker run hello-worldsaya menerima:

FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found 

Ketika saya melihat log layanan ( /var/log/upstart/docker.log) saya melihat:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 
ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

: versi buruh pelabuhan

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.2.1
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

: info buruh pelabuhan

Containers: 2
Images: 1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 5
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.6 GiB
Name: DWDEV-HOME-HBABAI
ID: K4GX:DTV6:547V:U3BO:YEOA:WVNU:NZEZ:L3GG:4W7U:IXNS:X3QK:5PVR
WARNING: No memory limit support
WARNING: No swap limit support

Memperbarui:

sudo apt-get install aufs-toolsLayanan buruh pelabuhan yang diinstal dan dimulai kembali. Saya tidak lagi melihat kesalahan berikut:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

Namun, dalam log saya melihat bahwa ketika buruh pelabuhan mulai itu memperingatkan saya tentang titik pemasangan memori:

INFO[0000] -job init_networkdriver() = OK (0)           
/var/run/docker.sock is up
WARN[0000] mountpoint for memory not found              
INFO[0000] Loading containers: start.         

Saya merasa ada hubungannya dengan cgroup ... tetapi saya tidak tahu apa-apa tentang teknologi itu (belum) ...

hba
sumber
Sepertinya pertanyaan Anda jatuh ke lantai dan pecah berkeping-keping. Silakan disatukan untuk kita.
Scott
@Scott - maaf ... harap sekarang lebih baik ... terima kasih telah menunjukkannya
hba

Jawaban:

23

Ternyata saya perlu menginstal cgroup-lite. Itu tembakan dalam kegelapan tetapi saya mengikuti jawaban ini

hba
sumber
Anda tahu, pada suatu saat saya menemukan itu sendiri, lalu melupakannya. Sekarang temukan pertanyaan Anda ketika saya bertemu lagi dan ingat (dan terunggul).
0xC0000022L
Dalam Debian , paket yang sesuai disebut cgroupfs-mount
Bass
1

Saya akan menambahkan jawaban lain di sini untuk orang-orang yang melihat ini pada tahun 2020 di Debian, karena resolusi saya untuk masalah ini tidak ada di salah satu hit pencarian yang ditemukan ketika googling string kesalahan "mountpoint for devices not found".

Latar Belakang:

  • Debian 8.11 berjalan di Google Cloud Platform
  • Sudah menginstal Docker 5 minggu yang lalu dengan dua kontainer berjalan

Tiba-tiba menyadari sesuatu telah membuat wadah itu jatuh. Satu-satunya kemungkinan penyebab yang bisa saya temukan adalah bahwa saya telah menghapus folder induk pada host yang subfoldernya dipetakan sebagai volume. Alasan lain bisa jadi pemasangan perangkat fisik tambahan.

Hasil akhirnya dalam setiap kasus adalah bahwa mencoba untuk memulai suatu wadah buruh pelabuhan menghasilkan pesan kesalahan yang terlihat dalam pertanyaan ("mountpoint for devices not found ") dan tidak ada reboot (dan karenanya upgrade kernel) telah terjadi.

Langkah-langkah yang saya ambil untuk men-debug masalah itu

  1. Periksa log: journalctl -xn | less. Tidak terlalu banyak mengandung informasi tambahan
  2. Hentikan daemon Docker ( /etc/init.d/docker stop).
  3. Tambahkan file di /etc/docker/daemon.jsonmana satu-satunya konten berada{"debug": true}
  4. Coba mulai ulang daemon buruh pelabuhan hanya untuk melihatnya gagal
  5. Periksa log, yang sekarang akan diisi dengan lebih banyak info

cgroupKesalahan terkait ini adalah yang menyebabkan jawabannya:

Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964631675Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964654637Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964667575Z" level=warning msg="Unable to find blkio cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964680057Z" level=warning msg="Unable to find cpuset cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964750643Z" level=warning msg="mountpoint for pids not found"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.980250151Z" level=debug msg="Cleaning up old mountid : start."
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: Error starting daemon: Devices cgroup isn't mounted

OK, sesuatu tentang cgroupsdan pemasangan. Itu membawa saya ke solusi untuk masalah cgroup yang berbeda yang dapat diterapkan dalam kasus ini, di mana satu-satunya perintah yang tampaknya memiliki efek adalah

  1. /etc/init.d/docker stop
  2. cgroupfs-mount
  3. /etc/init.d/docker start

Sekarang, setelah memulai Docker lagi, log masih berisi beberapa baris kesalahan terkait cgroup:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258571633Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258591020Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258937091Z" level=warning msg="mountpoint for pids not found"

Tetapi setengah dari mereka ( blkio, cpuset) hilang, dan yang lebih penting, baris berikutnya berbunyi:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.259420798Z" level=info msg="Loading containers: start."

Dan akhirnya

Unit docker.socket has finished starting up.

Jadi, pada dasarnya, mengount ulang hal-hal cgroup memperbaiki masalah ini. Tidak perlu reboot.

oligofren
sumber