在 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
错误报告:Docker 容器在 /dev/.lxc/proc 目录中失败 #2825 - GitHub
如何让它工作?
答案1
根据 Stephane Graber(LXD 首席开发人员)的说法,您不再需要 LXD docker 配置文件!
答案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
包和docker
snap 都可以工作,但是是不同的版本,并且有不同的更新策略等。上面使用的 snap 版本是 17.06.2-ce,而 xenial 中的 docker.io 包是 1.13.1。