目录
问题描述:
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: container_linux.go:345: starting container process caused "error adding seccomp filter rule for clone3: permission denied": unknown.
参考
定制软件查阅了好多资料后,定制软件发现有一篇博客和我问定制软件题高度相似
原文连接:
定制软件咋一想好像我也是非正常的退出docker(意外关机)触发了linux定制软件的安全机制导致的运行失败
解决方案
在docker run定制软件后面添加参数 --security-opt seccomp=unconfined 覆盖默认配置文件
效果如图:
但是官方文档是不建议这样做的(没有办法我没有找到更好的方案):
由于我是使用启动的docker这里也给出yml文件需要添加的参数
给每个容器加上
security_opt:
- seccomp:unconfined
就可以了
---------------------------------------------------------------------------------------------------------------------------------
今天搞了一下缓存下载了xlslwriter个发现docker又运行不了,和昨天报得一样得错,卡在pip了
所以导致这个报错的原因还有可能是下了一些seccomp不允许操作库,把他从requirement.txt中移除就好了
------------------------------------------------ 更新 ------------------------------------------------
我又遇到了上面的问题,我发现我修改不了requirements文件了,不管我是增加一个库还是要删掉某一个库都会导致这个错误。
最后也算是另辟蹊径了,这个问题在网上资料比较少。既然解决不了那就避开他吧。
下面给出我最佳的解决方法:
最佳方案:
我使用docker-compose启动项目,他会执行目录下的dockerfile。我每次都卡在dockerfile的
RUN pip install -r requirements.txt
那么我就不执行这一步,我在CMD中执行我的sh脚本,在shell脚本中去执行pip install,这样做的坏处就是不能利用原来docker的”缓存“机制,每次启动都需要将所有包安装一遍。效率较低
各位老爷们如果有更好的解决方法也欢迎评论区指教一二~