처음으로 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를 루트로 실행하고 싶지 않습니다.