Docker 突然挂掉 failed to create shim task: OCI runtime create failed: container_linux.go:345: ...

目录

问题描述:

参考

解决方案

最佳方案:


问题描述:

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 syscall clone3: permission denied": unknown.

参考

查阅了好多资料后,发现有一篇博客和我问题高度相似

原文连接:docker非正常退出后,重启时报错error adding seccomp filter rule for syscall clone3_euler1983的博客-CSDN博客

咋一想好像我也是非正常的退出docker(意外关机)触发了linux的安全机制导致的运行失败

解决方案

在docker run后面添加参数 --security-opt seccomp=unconfined 覆盖默认配置文件 

效果如图:

但是官方文档是不建议这样做的(没有办法我没有找到更好的方案):

由于我是使用docker-compose启动的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的”缓存“机制,每次启动都需要将所有包安装一遍。效率较低

各位老爷们如果有更好的解决方法也欢迎评论区指教一二~

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的Zion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值