A ativação de um contêiner de docker privilegiado em um LXD falha com isso:
docker: Error response from daemon: linux runtime spec devices: lstat /dev/.lxc/proc/1482/fdinfo/12: no such file or directory.
Passos para reproduzir:
lxc launch ubuntu-daily:16.04 docker -p default -p docker
lxc exec docker -- apt install docker.io -y
lxc exec docker bash
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch
Guia original: LXD 2.0: Docker no LXD
Relatório de erro: Contêineres do Docker falhando no diretório /dev/.lxc/proc # 2825 - GitHub
Como fazer dar certo?
A Docker image which behaves when confined by user namespaces, or alternatively make the parent LXD container a privileged container (security.privileged=true)
. É possível que o problema esteja comscope
? Você pode executarlxc exec docker -- docker run --detach --name app carinamarina/hello-world-app
ou, alternativamente, ele funciona em um contêiner privilegiado?security.privileged=true
). Eu tentei algumahello-world
imagem em um LXD privilegiado - mesmo problema. Não tem mais essa configuração, movida para o KVM.Respostas:
Por Stephane Graber (desenvolvedor líder do LXD), você não precisa mais do perfil docker LXD!
Veja… https://github.com/lxc/lxd/issues/3299
fonte
Apenas para limpar um pouco, isso é resolvido muito bem (como @bmullan aponta).
16.04, lxd versão 2.21, a seguinte sequência funciona:
O
docker.io
pacote e odocker
snap funcionam, mas são versões diferentes e têm políticas de atualização diferentes etc. A versão do snap usada acima é 17.06.2-ce, enquanto o pacote docker.io no xenial é 1.13.1.fonte