Posted on: February 08, 2021 11:05 PM
Posted by: Renato
Views: 1146
Enquanto configurava o docker na minha máquina de desenvolvimento local, encontrei um problema de permissão. Depois de instalar o docker, descobri que tinha esse problema de permissão que significava que não podia executar o docker usando minhas contas de usuário locais. Portanto, fui forçado a executar o docker como sudo, o que não queria fazer sempre.
# This is the error I was getting.
-
$ docker run hello-world
-
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
-
Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect:
-
permission denied.
-
See 'docker run --help'.
Acontece que o docker tem uma seção em seu site dedicada a resolver esse problema. As etapas envolvidas na correção desse problema são as seguintes.
Crie um grupo docker (não importa se já existe).
```
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ sudo chmod 666 /var/run/docker.sock
```
After this, you can ensure that everything works correctly using the same command as before.
$ docker run hello-world
-
Hello from Docker!
After seeing the above your docker instance should be ready to use.
Devo observar que há um pequeno problema de segurança em relação à capacidade de usuários não confiáveis controlarem seu daemon do docker. Isso se aplica apenas se um usuário for capaz de criar uma instância docker que usa / como a unidade compartilhada, o que essencialmente dá a esse contêiner docker acesso total ao seu disco rígido. Se isso for uma preocupação para você, é possível usar o docker, já que está pronto para uso, envolvendo o comando 'sudo docker' em um alias em vez de dar acesso ao grupo ao grupo. Configure o alias assim.
$ alias docker='sudo docker'
Ao definir isso em seu arquivo de perfil bash, você está efetivamente executando o docker como sudo o tempo todo, sem ter que digitar a parte 'sudo'. Isso nem sempre funciona, especialmente se o comando docker estiver sendo executado por meio de um script bash, pois não terá escolhido o alias.
- https://docs.docker.com/engine/install/linux-postinstall/
- https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
- https://www.hashbangcode.com/article/permission-denied-error-when-first-running-docker-ubuntu-2004
Donate to Site
Renato
Developer