在k8s上 运行docker镜像,报错:
standard_init_linux.go:207: exec user process caused “no such file or
directory”

原因:
windows下文件默认编码格式为dos,linux下默认为unix。因此在解析文件时出错,报错no such file or directory。

验证方式:
将Dockerfile 文件放在linux下查看。
运行 cat -v Dockerfile 结果 RUN chmod +x /app-entrypoint.sh^M
#M-eM-/M-9M-eM-$M-^VM-fM-^ZM-4M-fM-<M-^OM-gM-^ZM-^DM-gM-+M-/M-eM-^OM-#M-eM-^OM-7^M
EXPOSE 8761^M
这种有^M 的即为编码错误造成

解决方式:
linux下打包
有人说将.sh文件的头部 #!/bin/bash 改为#!/bin/sh也可以 我自己尝试没有起作用

遗留问题:
同样windows下打包的镜像,在k8s的一些集群上可以运行,但在这个集群下不能运行,应该与集群配置有关,但暂未找出原因。
如果有人知道原因 可以留言 谢谢

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信