Eu instalei o docker conforme descrito aqui . Eu uso o Ubuntu Trusty 14.04 (LTS) (64 bits) . Tudo durante a instalação estava bem. Também o comando é $ sudo docker run -i -t ubuntu /bin/bash
concluído com êxito (depois que eu digitei "exit" no console aberto. Mas quando estou tentando fazer outra coisa, recebo "permissão negada". Por exemplo:
`$ sudo docker run -d -P training/webapp python app.py`
Reuslts em Post http:///var/run/docker.sock/v1.12/containers/create: dial unix /var/run/docker.sock: permission denied
` docker info`
Reuslts em Get http:///var/run/docker.sock/v1.12/info: dial unix /var/run/docker.sock: permission denied
Como resolver isso? Pesquisei no Google sobre o problema, mas não consigo encontrar uma solução para o meu caso.
fonte
exec $SHELL
não fez. Estou interessado em saber por qual mecanismo de logoff resolveu o problema. Isso não é janelas!/etc/selinux/config
e colocarSELINUX=disabled
, em seguida, reiniciar o LinuxSe você estiver executando o CentOS ou RedHat, pode ser necessário desativar o SELinux primeiro executando:
Depois, reinicie o Eiter para reativar o SELinux ou executar
setenforce 1
.fonte
Eu tive o mesmo problema, devido ao selinux. Você pode verificar se o selinux é o culpado:
setenforce 0
Se a desativação do selinux resolveu seu problema, não é uma razão para deixá-lo desativado:
setenforce 1
setsebool docker_connect_any true
--priviledged
opçãofonte
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
Pela versão atual , não precisamos adicionar o grupo
docker
.Existe automaticamente pela instalação. Você pode verificar usando o comando:
Portanto, para gerenciar o Docker como um usuário não raiz , basta adicionar seu usuário ao grupo de janelas de encaixe e sair e efetuar login novamente, para que sua associação ao grupo seja reavaliada:
Para verificar quando você faz login novamente
Você pode até forçar a usar
GROUP:docker
como seu novo grupo principal:Para verificar quando você faz login novamente
fonte