[Ubuntu] Configurações e precauções para executar o docker sem o comando sudo

2019 ano 10 mês 3 dia

Uma nota sobre como habilitar o docker sem sudo ao usar o docker no Ubuntu.

Acionar

Depois de instalar o docker, como estásudoQuando verifiquei a operação sem um comando, ocorreu um erro.

#Run a partir do docker do terminal Ubuntu, execute o hello-world 

docker: permissão negada ao tentar conectar ao socket daemon Docker em unix: ///var/run/docker.sock: Post http: //%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create: disque unix /var/run/docker.sock: conectar: ​​permissão negada.Veja 'execução doocker –help'.

Parece que o acesso ao daemon docker foi negado. Digitei sudo docker run hello-world e funcionou.

A causa do erro parece ser os seguintes motivos.

O Docker se comunica com um daemon (dockerd) em execução com privilégios de root via soquete unix ou tcp / ip, mas você precisa pertencer ao grupo docker ou ter privilégios de root para acessar o dockerd.

Entenda os perigos de adicionar usuários a um grupo do docker com o Docker

Ao adicionar o comando sudo, os usuários gerais podem executar comandos que não podem ser executados sem privilégios de root (como conectar-se a um daemon).Mas adicionar sudo todas as vezes é entediante.

Contramedidas e precauções

Uma maneira de executar sem o sudo é fazer com que o usuário pertença ao grupo dokcer (geralmente pesquisado no Google), mas também parece haver um problema de segurança.

Referência: risco ao conceder privilégios de root no grupo docker (documento oficial)

Se você quiser usar o docker sem sudo, newgrp Diz-se que é melhor pertencer temporariamente a um grupo ou espaço de nomes de usuário.

sudo groupadd docker # $ USER com nome de usuário sudo usermod -aG docker $ USER newgrp docker docker execute hello-world 

Olá do Docker!
Esta mensagem mostra que sua instalação parece estar funcionando corretamente.

Para gerar essa mensagem, o Docker realizou as seguintes etapas:

1. O cliente Docker contatou o daemon Docker.
2. O daemon do Docker extraiu a imagem “hello-world” do Docker Hub.
(amd64)
3. O daemon do Docker criou um novo contêiner a partir dessa imagem que executa o
executável que produz a saída que você está lendo no momento.
4. O daemon Docker transmitiu essa saída para o cliente Docker, que a enviou
para o seu terminal.

Para tentar algo mais ambicioso, você pode executar um contêiner Ubuntu com:
$ docker run -it ubuntu bash

Compartilhe imagens, automatize fluxos de trabalho e muito mais com um Docker ID gratuito: https://hub.docker.com/

Para mais exemplos e ideias, visite:
https://docs.docker.com/get-started/