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に関係していると感じています...しかし、そのテクノロジーについては(まだ)何も知りません...
cgroup-lite
をインストールする必要があることがわかりました。暗闇の中でのショットでしたが、私はこれに従いました answer
この問題への私の解決策は、エラー文字列「デバイスのマウントポイントが見つかりません」をグーグル検索したときに見つかった検索ヒットのいずれにも存在しなかったため、Debianで2020年にこれを目にする人々に別の回答を追加します。
背景:
突然、何かがコンテナをクラッシュさせることに気づきました。リモートで考えられる唯一の原因は、サブフォルダーがボリュームとしてマップされているホスト上の親フォルダーを削除したことです。別の理由は、追加の物理デバイスのマウントである可能性があります。
いずれの場合も最終結果は、Dockerコンテナを起動しようとすると、質問( "mountpoint for devices not found
")で、再起動(およびカーネルのアップグレード)は行われていません。
問題をデバッグするために私が取った手順は
journalctl -xn | less
。追加情報があまり多く含まれていない/etc/init.d/docker stop
)。/etc/docker/daemon.json
唯一のコンテンツは{"debug": true}
これらの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の問題の回避策 に導きました。これはこの場合に適用でき、影響があると思われる唯一のコマンドは
/etc/init.d/docker stop
cgroupfs-mount
/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"
しかし、それらの半分(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.
したがって、基本的には、cgroupのものを再マウントすることで問題が修正されました。再起動する必要はありません。