解决:standard_init_linux.go:219: exec user process caused
目录
尝试一、使用 rust-argon2 替换 aronautica
问题
今天创建了一个新镜像,基于这个镜像启动容器的时候,遇到了如下报错:
standard_init_linux.go:219: exec user process caused: no such file or directory
报错截图如下:
解决
遇到上述错误后,自己就开始了一天的排查。
尝试一、使用 rust-argon2 替换 aronautica
上网搜索时,第一条记录是 stackoverflow 上的,打开之后发现报错确实一样,但是问题原因不是自己遇到的。截图如下:
stackoverflow 上的参考链接: docker - standard_init_linux.go:219: exec user process caused: no such file or directory - Stack Overflow
也记录一下吧,万一有小伙伴遇到的是同一问题呢。
尝试二、字符集问题
网上也有说可能是字符集不兼容导致的,具体解决步骤如下:
yum install -y dos2unix
dos2unix Dockerfile
dos2unix run.sh
然而也没能解决自己遇到的问题,因为自己的 Dockerfile 文件和启动文件都是直接在服务器上修改的,因此不会存在字符集不统一的问题。
尝试三、即时编译可执行程序
找了很多方法之后,发现解决方案都和自己没有关系,于是自己便根据以往的经常开始摸着石头过河了。鼓捣了半天时间,终于找到了解决方法。
因为自己之前的是直接将编译好的可执行程序拷贝到镜像中,现在改成动态编译就可以了。是不是很神奇的操作。以后再细究吧!大家都挺忙的!
作者简介:大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,公众号:玩转音视频。同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!
版权声明: 本文为 InfoQ 作者【liuzhen007】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc32e137f7a463f649b6d296c】。文章转载请联系作者。
评论