运行docker容器时报standard_init_linux.go:195: exec user process caused "no such file or directory" 的解决方法
一、背景docker所在主机:CentOS 7.4Dockerfile编写环境是Win8.1 ,Nodepad++ 今天新编写了个Dockerfile,然后build后没提示任何错误。而运行docker容器时容器没有驻留,而是异常中止了,使用dokcer logs查看日志却提示standard_init_linux.go:195: exec user process ca...
一、背景
docker所在主机:CentOS 7.4
Dockerfile编写环境是Win8.1 ,Nodepad++
今天新编写了个Dockerfile,然后build后没提示任何错误。而运行docker容器时容器没有驻留,而是异常中止了,使用dokcer logs查看日志却提示standard_init_linux.go:195: exec user process caused "no such file or directory" 。当时整个人就不好了,由于我是通过FTP把用Nodepad++写好的文件上传至宿主机的,而百度出的原因是dos字符与unix字符的问题。所以把百度来的解决办法写出来留个记录。
二、解决办法
如果使用的notepad++来编辑文件并上传到服务器中,默认是以DOS文本格式来创建的,这样就需要把文件转换下字符,这样就不会出现standard_init_linux.go:195: exec user process caused "no such file or directory" 这个错误提示了。
cat -v run-lamp.sh
#!/bin/bash^M
^M
service apache2 start:^M
service mysql start:^M
^M# 就是^M这个造成的问题。
解决步骤1: 安装dos2unix
yum install -y dos2unix
解决步骤2: 将相关文件转换一下字符
dos2unix Dockerfile
dos2unix run-lamp.sh
三、问题解决
大家可以继续趟坑了。。。
更多推荐
所有评论(0)