初めてDockerをインストールしています。
公式文書では、次の場所にあります。この点check-config.sh
私のシステムにDockerに必要なものがすべてあるかどうかをテストするには、スクリプト()をダウンロードして実行する必要があります。
私が(ユーザーとして)スクリプトを実行すると、docker
重要度に基づいてソートされた依存関係のリストが出力されます。 「一般的に必要」(最も重要)以下にリストされている要件のうち、私が欠けている唯一の要件は次のとおりですapparmor_parser
。
- apparmor: enabled, but apparmor_parser missing
(use "apt-get install apparmor" to fix this)
sudo apt-get update
ただし、実行すると、sudo apt-get install apparmor
次のような結果が表示されます。
$ sudo apt-get install apparmor
Reading package lists... Done
Building dependency tree
Reading state information... Done
apparmor is already the newest version (2.10.95-0ubuntu2.9).
0 to upgrade, 0 to newly install, 0 to remove and 3 not to upgrade.
私が見た他のすべての証拠は、衣類が設置されていることを示唆しています。をcat /sys/module/apparmor/parameters/enabled
返しY
、docker run hello-world
合理的なものを出力します。
スクリプトの関連部分はcheck-config.sh
次のとおりです。
if command -v apparmor_parser &> /dev/null; then
echo "$(wrap_good 'apparmor' 'enabled and tools installed')"
else
echo "$(wrap_bad 'apparmor' 'enabled, but apparmor_parser missing')"
...
私はその意味を知りませんcommand -v apparmor_parser
。実行すると出力は出ません。
apparmor
インストールされていないか、インストールしたのにDockerがどこにあるのかわからない場合は、セキュリティ機能が不足しているDockerを実行するのではないかと心配です。どうすればいいですか?
Linuxバージョンなど:
$ uname -srvmpio
Linux 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
修正する:
apparmor_parser
はにあるため、/sbin/
スクリプトにありません。実行してみるとうまくいくようですPATH=$PATH:/sbin ./check-config.sh
。でも走れば/sbin/apparmor_parser
わかりますよapparmor_parser: Sorry. You need root privileges to run this programme.
。実行すると、sudo apparmor_parser
次のようになりますWarning from stdin (line 1): apparmor_parser: cannot use or update cache, disable, or force-complain via stdin
(Ctrl + Cを押すまで終了しません)。だから私にはまだ動作していないようです。 Dockerをrootとして実行したくありません。