web-dev-qa-db-ja.com

docker hello-worldを実行できません:デバイスのマウントポイントが見つかりません

Dockerの新機能。

mint 17のソフトウェア管理ツールからdockerをインストールしました。

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 

:Dockerバージョン

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

:Docker情報

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をインストールし、Dockerサービスを再起動しました。私もはや次のエラーを見てください:

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

ただし、ログで、Dockerの起動時にメモリマウントポイントについて警告していることがわかります。

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に関係していると感じています...しかし、そのテクノロジーについては(まだ)何も知りません...

12
hba

cgroup-liteをインストールする必要があることがわかりました。暗闇の中でのショットでしたが、私はこれに従いました answer

23
hba

この問題への私の解決策は、エラー文字列「デバイスのマウントポイントが見つかりません」をグーグル検索したときに見つかった検索ヒットのいずれにも存在しなかったため、Debianで2020年にこれを目にする人々に別の回答を追加します。

背景:

  • Google Cloud Platformで実行されているDebian 8.11
  • 5週間前に2つのコンテナーを実行して、動作するDockerインストールがあった

突然、何かがコンテナをクラッシュさせることに気づきました。リモートで考えられる唯一の原因は、サブフォルダーがボリュームとしてマップされているホスト上の親フォルダーを削除したことです。別の理由は、追加の物理デバイスのマウントである可能性があります。

いずれの場合も最終結果は、Dockerコンテナを起動しようとすると、質問( "mountpoint for devices not found ")で、再起動(およびカーネルのアップグレード)は行われていません。

問題をデバッグするために私が取った手順は

  1. ログを調べます:journalctl -xn | less。追加情報があまり多く含まれていない
  2. Dockerデーモン(/etc/init.d/docker stop)。
  3. ファイルを追加/etc/docker/daemon.json唯一のコンテンツは{"debug": true}
  4. Dockerデーモンの再起動を試みて、失敗したことを確認してください
  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

OK、cgroupsとマウントについて。それが私を 別のcgroupsの問題の回避策 に導きました。これはこの場合に適用でき、影響があると思われる唯一のコマンドは

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

これで、Dockerを再起動したときに、ログに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"

しかし、それらの半分(blkiocpuset)はなくなっており、さらに重要なことに、次の行は次のようになっています。

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.

したがって、基本的には、cgroupのものを再マウントすることで問題が修正されました。再起動する必要はありません。

1
oligofren