apt-get diz que o apparmor está instalado, mas a verificação de compatibilidade do kernel do Docker diz que não é

2

Estou no processo de instalar o Docker pela primeira vez.

Na documentação oficial, em neste ponto , ele diz que eu devo baixar e execute um script ( check-config.sh ) para testar se meu sistema tem todas as coisas necessárias para o Docker.

Quando executo o script (como docker user), ele exibe uma lista de dependências categorizadas por importância. Dos requisitos listados em "Geralmente necessário" (os mais importantes), o único que diz que está faltando é algo chamado apparmor_parser :

- apparmor: enabled, but apparmor_parser missing
    (use "apt-get install apparmor" to fix this)

mas quando eu executo sudo apt-get update e sudo apt-get install apparmor eu recebo isto:

$ 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.

Todas as outras evidências que vi sugerem que o apparmor está instalado: cat /sys/module/apparmor/parameters/enabled retorna Y e docker run hello-world produz algo sensato.

A parte relevante do script check-config.sh é assim:

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')"
        ...

Eu não sei o que command -v apparmor_parser significa. Quando eu corri, não tenho saída.

Eu me preocupo se, se apparmor não estiver instalado, ou se estiver, mas o Docker não souber onde encontrá-lo, posso acabar executando o Docker com recursos de segurança ausentes. O que devo fazer?

Versão do Linux etc:

$ 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

ATUALIZAÇÃO:

apparmor_parser está em /sbin/ , por isso o script não conseguiu encontrá-lo. Quando executo PATH=$PATH:/sbin ./check-config.sh , parece funcionar. Mas quando eu executo /sbin/apparmor_parser , recebo apparmor_parser: Sorry. You need root privileges to run this programme. . E quando eu corro sudo apparmor_parser eu recebo Warning from stdin (line 1): apparmor_parser: cannot use or update cache, disable, or force-complain via stdin (e não termina até que eu pressione Ctrl + C). Então, ainda parece para mim que ainda não esteja funcionando. E não quero ter que executar o Docker como root.

    
por David Knipe 29.04.2018 / 12:16

0 respostas