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

一、背景

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

三、问题解决

        大家可以继续趟坑了。。。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值