Erro de “permissão negada” do Docker

Erro De Permissao Negada Do Docker



Ao trabalhar com Docker, você pode encontrar uma instância em que o comando retorna um erro de “permissão negada”. Este erro ocorre quando você tenta executar o Docker sem permissões suficientes para o comando.

Docker requer permissões sudo ou root para executar os comandos associados por padrão. A tentativa de executar qualquer comando sem os privilégios necessários leva ao infame erro de “permissão negada”.







Este tutorial fornece vários métodos e técnicas que você pode usar para corrigir o erro “permissão negada” ao tentar executar os comandos do Docker.



Tenha em mente que ele não cobre o processo de execução do Docker em um ambiente sem root. Você pode verificar nosso tutorial sobre Docker sem root no seguinte recurso:



Requisitos:

Como você pode imaginar, para acompanhar esta postagem, você deve ter o seguinte:





    1. Docker versão 20.0 e superior
    2. Permissões Sudo ou root no sistema host

O que é o erro “Permissão negada”?

Quando o erro “permissão negada” ocorre no Docker, significa que o sistema host não pode estabelecer comunicação com o daemon Docker devido a permissões insuficientes. Um exemplo é mostrado a seguir:

$ execução do docker -isto caixa ocupada eh



Se você encontrar o erro fornecido, poderá usar alguns dos métodos a seguir para saber como corrigi-lo.



Método 1: execute o Docker como root

O primeiro e mais óbvio método de resolver o erro de “permissão negada” do Docker é usar o comando “sudo”. Se você tiver privilégios de sudo, poderá corrigi-lo executando o comando associado usando sudo.

Por exemplo, para corrigir o referido erro, podemos acrescentar sudo antes do comando da seguinte forma:

$ sudo execução do docker -isto caixa ocupada eh



Como você pode ver, o Docker extrai com êxito as imagens necessárias e executa o contêiner.

Método 2: reinicie o Docker Daemon

Às vezes, você pode obter o erro “permissão negada” no Docker se o mecanismo apresentar algum problema. Em vez de rastrear o problema manualmente, você pode tentar reiniciar rapidamente o daemon do Docker para recarregá-lo.

Comece verificando o status do daemon Docker da seguinte maneira:

$ docker systemctl status docker



Depois de garantir que o Docker esteja em execução, reinicie o serviço com o seguinte comando:

$ sudo systemctl reiniciar janela de encaixe


Isso deve inicializar o daemon Docker e corrigir qualquer problema potencial que possa estar impedindo você de executar qualquer comando.

Método 3: habilitar o usuário não root

Outro método que você pode usar para resolver o erro “permissão negada” no Docker é permitir que usuários não root executem os comandos do Docker.

Para habilitar este método, faça login no sistema host e crie um novo grupo para Docker.

$ sudo adicionar grupo -f janela de encaixe


Em seguida, adicione qualquer usuário desejado ao grupo Docker da seguinte maneira:

$ sudo mod de usuário -aG docker linuxhint


O comando anterior deve adicionar o usuário linuxhint ao grupo Docker.

Por fim, aplique as alterações do grupo à sessão atual usando o seguinte comando:

$ janela de encaixe newgrp


Depois de concluído, você pode executar qualquer comando do Docker sem usar sudo para qualquer usuário do grupo Docker.

Método 4: reconfigurar as permissões do Docker

O próximo método que você pode usar é redefinir as permissões dos soquetes Docker. Comece alterando a propriedade do soquete Docker Unix executando o seguinte comando:

$ sudo chown raiz: docker / era / correr / docker.sock


Em seguida, aproprie-se do diretório Docker oculto em seu diretório inicial usando o comando a seguir:

$ sudo chown -R ' $USUÁRIO ' : ' $USUÁRIO ' $HOME / .docker


Por fim, atribua ao grupo as permissões de leitura e gravação no diretório da seguinte maneira:

$ sudo chmod -R g+rw ' $HOME /.docker'


Os métodos fornecidos devem definir permissões suficientes para arquivos e diretórios essenciais do Docker.

Conclusão

Neste tutorial, aprendemos como podemos usar os quatro métodos principais para resolver o erro de “permissão negada” do Docker ao invocar um comando do Docker.