apt-get에 의류가 설치되어 있다고 표시되지만 Docker 커널 호환성 확인 결과 그렇지 않은 것으로 나타납니다.

apt-get에 의류가 설치되어 있다고 표시되지만 Docker 커널 호환성 확인 결과 그렇지 않은 것으로 나타납니다.

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

관련 정보