Не вдається запустити світ привітного докера: точка монтажу для пристроїв не знайдена


12

Новий докер.

Документ встановлено з інструменту управління програмним забезпеченням у mint 17.

Коли я бігаю, docker run hello-worldотримую:

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

Коли я дивлюся на сервісні журнали ( /var/log/upstart/docker.log), я бачу:

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 

: версія докера

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

: інформація про докер

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

Оновлення:

Встановлена sudo apt-get install aufs-tools, перезапущена служба докера. Я більше не бачу такої помилки:

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

Однак у журналах я бачу, що коли докер починається, він попереджає мене про точку встановлення пам'яті:

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.         

У мене є відчуття, що це стосується cgroup ... але я нічого не знаю про цю технологію (поки що) ...


Схоже, ваше запитання впало на підлогу і розбилося на шматки. Будь ласка, складіть це разом для нас.
Скотт

@Scott - вибачте ... сподіваюся, що зараз краще ... спасибі за вказівку
hba

Відповіді:


23

Виявилося, що мені потрібно встановити cgroup-lite. Це був постріл у темряві, але я відповідав цій відповіді


Знаєте, я в якийсь момент виявив це самостійно, а потім забув це. Тепер знайшов своє запитання, коли я знову наткнувся на нього і згадав (і схвалив).
0xC0000022L

У Debian відповідний пакет називається cgroupfs-mount
Bass

1

Я додам сюди ще одну відповідь для людей, які бачать це в 2020 році на Debian, оскільки моє вирішення цієї проблеми не було в жодному з пошукових запитів, знайдених під час гуглікації рядка помилки "точка кріплення для пристроїв не знайдена".

Фон:

  • Debian 8.11 працює на хмарній платформі Google
  • Був встановлений робочий Docker 5 тижнів тому з двома контейнерами

Раптом зрозумів, що щось змусило контейнери розбитися. Єдиною віддаленою можливою причиною, яку я міг придумати, було те, що я видалив батьківську папку, на хості якої підпапка була відображена як том. Ще однією причиною може бути встановлення додаткового фізичного пристрою.

Кінцевим результатом у будь-якому випадку було те, що спроба запустити будь-який контейнер докера призвела до того, що повідомлення про помилку було помічено у питанні (" mountpoint for devices not found"), і перезавантаження (а отже, оновлення ядра) не відбулося.

Кроки, які я вжив для налагодження проблеми, були

  1. Перевірте журнали: journalctl -xn | less. Насправді не було занадто багато додаткової інформації
  2. Зупиніть демон Докера ( /etc/init.d/docker stop).
  3. Додайте файл, /etc/docker/daemon.jsonде знаходився єдиний вміст{"debug": true}
  4. Спробуйте перезапустити демон докера, лише щоб побачити його збій
  5. Ознайомтеся з журналами, які зараз наповнюватимуться значно більше інформації

Ці cgroupпов'язані помилки були тими, що призвели до відповіді:

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

Добре, щось про cgroupsта монтажу. Це призвело до вирішення проблеми, пов'язаної з різними групами, яка може бути застосована в цьому випадку, і єдині команди, які, здавалося, мали ефект

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

Тепер, знову запустивши Docker, журнали все ще містили кілька рядків помилок, пов’язаних з групою:

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"

Але половина з них ( blkio, cpuset) пішла, і що ще важливіше, наступний рядок читав:

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

І, нарешті

Unit docker.socket has finished starting up.

Таким чином, в основному, перерахунок матеріалів групи вирішив проблему. Не потрібно перезавантажувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.