pve lxc 里面运行docker的一些错误

错误提示

1
2
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply caps: operation not permitted: unknown.
ERRO[0005] error waiting for container: context canceled 

先运行 hello word 试试

1
docker run hello-world

这个问题 发生在 特权容器上.

简单的解决方法 - 非特权容器

不使用特权容器

然后关于非特权容器的 目录挂载 比较麻烦,可以查看

查看 (http://dev.leiyanhui.com/pve/lxc-mount-dir)[http://dev.leiyanhui.com/pve/lxc-mount-dir]

使用 特权容器

使用特权容器 其实是可以安装docker的,创建的lxc的时候 去掉 无特权容器的 勾选,创建完成后 在选项里面 功能 勾选上 嵌套 在lxc的配置文件 添加三行 可以用特权容器开启docker /etc/pve/lxc/容器id.conf

1
2
3
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

另外 pve的webui里面 这个容器也要打开嵌套,也就是conf文件里面要有 features: nesting=1

安裝docker

以alpine为例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk add tzdata 
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
apk del tzdata
rm -rf /var/cache/apk/*
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk add docker #nano
rm -rf /var/cache/apk/*
rc-update add docker boot
service docker start
docker version
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计