LXD 嵌套 pivileged docker (/dev/.lxc/proc/ error) 的解决方法是什么?

Vel*_*kan 8 lxc docker lxd

在 LXD 中启动特权 docker 容器失败,原因如下:

docker: Error response from daemon: linux runtime spec devices: lstat /dev/.lxc/proc/1482/fdinfo/12: no such file or directory.

重现步骤:

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
Run Code Online (Sandbox Code Playgroud)

原始指南:LXD 2.0:LXD 中的 Docker

错误报告:Docker 容器在 /dev/.lxc/proc 目录中失败 #2825 - GitHub

如何使它工作?

bmu*_*lan 1

根据 Stephane Graber(LXD 首席开发人员)的说法,您不再需要 LXD docker 配置文件了!

\n\n

请参阅\xe2\x80\xa6\n https://github.com/lxc/lxd/issues/3299

\n


dpb*_*dpb 1

只是为了清理一下这个问题,这个问题得到了很好的解决(正如@bmullan 指出的那样)。

16.04,lxd 版本 2.21,以下序列有效:

lxc launch ubuntu-daily:xenial xenial
lxc config set xenial security.nesting true
lxc exec xenial snap install docker
lxc exec xenial docker run ubuntu ls
Run Code Online (Sandbox Code Playgroud)

docker.io软件包和dockersnap都可以工作,但版本不同,并且有不同的更新策略等。上面使用的snap版本是17.06.2-ce,而xenial中的docker.io软件包是1.13.1。