Instalei o Docker por meio da loja de software, que indicava que era um pacote Snap. O que é bom para mim, eu acho, mas, infelizmente, todos os comandos do Docker que eu tentei não funcionam:
$ docker info
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.30/info: dial unix /var/run/docker.sock: connect: permission denied
Alguma idéia de como consertar isso?
Edit: Eu trabalhei com isso por enquanto instalando o Docker a partir dos próprios repositórios do Docker , o que pode funcionar para as pessoas que navegam nessa pergunta também. Estou deixando a pergunta em aberto para quem quiser executá-la a partir do Snap.
16.04
ubuntu-gnome
snap
docker
Vincent
fonte
fonte
docker
grupo,id -nG
não mostrou o docker e qualquerdocker
comando resultou em um erro de permissão negada. O logoff e o logon novamente não funcionaram porque o processo do sistema docker continua em execução. A reinicialização do sistema ou a reinicialização do docker mostraram o usuário como parte do grupo do docker e permitiram a execução de comandos do docker. NOTA: 0 repetições, não é possível adicionar comentários.Respostas:
Isto é da página do GitHub, você tentou estas etapas exatas:
Do Docker snap github
fonte
addgroup
instruções, que acho que são sobre o que fiz, conforme as outras respostas. Infelizmente, eu preferiria não tocar mais no sistema atualmente em funcionamento, mas adoraria ouvi-lo se alguém tentar isso e conseguir fazê-lo funcionar.A mensagem de erro informa que seu usuário atual não pode acessar o mecanismo do docker, porque você não possui permissões para acessar o soquete unix para se comunicar com o mecanismo.
Solução temporária
Use o
sudo
comando para executar os comandos com permissões elevadas sempre.Solução permanente (sugerida)
Adicione o usuário atual ao
docker
grupo. Isso pode ser alcançado digitando-seVocê precisa sair e fazer login novamente para que a associação ao grupo entre em vigor.
Fonte: techoverflow.net
fonte
docker
grupo não existia. Em seguida, executei primeirosudo addgroup docker
e, em seguida, re-execute seu comando, depois desconecte-me e entre novamente. Infelizmente, o erro mostrado na pergunta persiste ...newgrp docker
ougroups vincent
dá:vincent adm cdrom sudo dip plugdev lpadmin sambashare docker
sudo /etc/init.d/docker status
ousudo service docker status
teste isso.ps cax | grep dockerd
dá31034 ? Ssl 0:05 dockerd
.Presumo que seu nome de usuário já esteja no grupo de janelas de encaixe. Para verificar isso, emita o comando abaixo.
Caso contrário, você precisa adicionar seu usuário ao grupo de janelas, abaixo do comando.
Quando você executa o comando
sudo systemctl start docker
, ele cria um processo de janela de encaixe. Esse processo da janela de encaixe contémdockerd
encadeamento daemon. O comando também cria umdocker.sock
soquete Unix padrão . Odocker.sock
soquete é escutado continuamente pelodockerd
encadeamento daemon. Isso faz com que você possa executar o IPC no nível do kernel com odocker.pid
processo. Para poder usar esse soquete de janela de encaixe, é necessário ter a permissão adequada do nível do processo (docker.pid
) e do nível do arquivo (docker.sock
). Portanto, a execução abaixo de dois comandos deve resolver seu problema.sudo chmod a+rwx /var/run/docker.sock # You can provide just execute permission sudo chmod a+rwx /var/run/docker.pid
fonte
não requer reinicialização e é mais seguro
fonte
Você deve adicionar o usuário ao grupo Docker ( consulte a documentação oficial ).
Você pode adicionar
sudo
na frente do comando ou adicionar o usuário nodocker
grupo usando este comando:Efetue logout e logon novamente, para que sua participação no grupo seja reavaliada.
fonte