运行docker容器时报standard_init_linux.go:195: exec user process caused "no such file or directory" 的解决方法

不知道有没有朋友会像我这么懒为了方便测试就用winscp远程打开docker服务器,直接创建dockerfile并进行调试的呢。

如果有的话我想一定遇到过这个问题:

运行后容器没有驻留,而是异常中止了,使用dokcer logs查看日志却报

standard_init_linux.go:195: exec user process caused "no such file or directory"

开始我还以为是缺了哪个文件,后来经过一番查找,原来是dos字符与unix字符的问题。

原因是我使用的Notepad++默认是以DOS文本格式来创建的,所以才导致这样的问题。

使用以下命令确认是不是这个原因:

cat -v run-lamp.sh 

#!/bin/bash^M

^M

# enable php short tags:^M

/bin/sed -i "s/short_open_tag\ \=\ Off/short_open_tag\ \=\ On/g" /etc/php.ini^M

^M

就是^M这个造成的问题。

解决方法:

安装dos2unix

 yum install dos2unix

将相关文件转换一下字符即可:

dos2unix Dockerfile

dos2unix run-lamp.sh

重新build可以正常运行了

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容