虚拟机拉的公司的docker file在编排的时候总是报错文件不存在
standard_init_linux.go:207: exec user process caused "no such file or direct
Windows挂载的文件 编码有问题
利用如下命令查看文件格式
:set ff 或 :set fileformat
不知道有没有朋友会像我这么懒为了方便测试就用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/bashMM# enable php short tags:^M/bin/sed -i “s/short_open_tag\ =\ Off/short_open_tag\ =\ On/g” /etc/php.iniMM就是^M这个造成的问题。解决方法:安装dos2unix yum install dos2unix将相关文件转换一下字符即可:dos2unix Dockerfiledos2unix run-lamp.sh重新build可以正常运行了
作者:骆建峰Jeff
链接:https://www.jianshu.com/p/ffe2b5a08897
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。