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

pve

#错误提示

plaintext
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 试试

plaintext
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

plaintext
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

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

#安裝docker

以alpine为例

plaintext
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

评论