LXD 嵌套特权 docker(/dev/.lxc/proc/ 错误)的解决方法是什么?

LXD 嵌套特权 docker(/dev/.lxc/proc/ 错误)的解决方法是什么?

在 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

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

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

如何让它工作?

答案1

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

看… https://github.com/lxc/lxd/issues/3299

答案2

只是为了清理一下,这是解决得很好(正如@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

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

相关内容