Uruchomienie uprzywilejowanego kontenera dokowanego w LXD kończy się niepowodzeniem:
docker: Error response from daemon: linux runtime spec devices: lstat /dev/.lxc/proc/1482/fdinfo/12: no such file or directory.
Kroki ku reprodukcji:
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
Oryginalny przewodnik: LXD 2.0: Docker w LXD
Raport o błędzie: Awarie kontenerów Docker w katalogu /dev/.lxc/proc # 2825 - GitHub
Jak to działa?
A Docker image which behaves when confined by user namespaces, or alternatively make the parent LXD container a privileged container (security.privileged=true)
. Czy to możliwe, że problem dotyczyscope
? Czy możesz uruchomićlxc exec docker -- docker run --detach --name app carinamarina/hello-world-app
lub alternatywnie, czy działa on w uprzywilejowanym kontenerze?security.privileged=true
). Próbowałem jakiśhello-world
obraz w uprzywilejowanym LXD - ten sam problem. Nie mam już tej konfiguracji, przeniesiono do KVM.Odpowiedzi:
Według Stephane Grabera (głównego programisty LXD) profil dokowania LXD nie jest już potrzebny!
Zobacz… https://github.com/lxc/lxd/issues/3299
źródło
Aby to trochę posprzątać, zostało to całkiem ładnie rozwiązane (jak wskazuje @bmullan).
16.04, lxd wersja 2.21, działa następująca sekwencja:
Zarówno
docker.io
pakiet, jak idocker
przystawka działają, ale są różnymi wersjami i mają różne zasady aktualizacji itp. Używana powyżej wersja przystawki to 17.06.2-ce, a pakiet docker.io w Xenial to 1.13.1.źródło