You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes部署Docker镜像报错:standard_init_linux.go:228 无此文件或目录

解决Kubernetes部署时的standard_init_linux.go:228执行错误

针对你遇到的部署错误,结合提供的Dockerfile,可从以下几个方向排查解决:

1. 检查脚本的Shebang解释器行

arm.sh脚本的第一行必须指定正确的shell解释器路径,否则容器无法找到执行脚本的程序:

  • 确保脚本开头为#!/bin/bash(Dockerfile中已安装bash),或者兼容Alpine默认shell的#!/bin/sh。
  • 若脚本之前使用了错误的路径(比如#!/usr/bin/bash),Alpine系统中bash实际位于/bin/bash,会导致解释器找不到,触发该错误。

2. 确保脚本具备执行权限

在Dockerfile中COPY arm.sh之后,显式添加执行权限设置(即使后续有chmod -R 777 /opt,显式设置更稳妥):

COPY arm.sh ${MULE_HOME}/bin/
RUN chmod +x ${MULE_HOME}/bin/arm.sh

3. 验证镜像内脚本的存在性与可执行性

构建镜像后,本地先验证镜像是否正常:

# 进入容器交互模式
docker run --rm -it <你的镜像名称> /bin/bash
# 在容器内检查脚本位置与权限
cd /opt/mule/bin && ls -l arm.sh
# 尝试直接执行脚本,查看具体报错
./arm.sh

如果本地执行也报错,可直接定位脚本本身的问题,无需先部署到Kubernetes。

4. 排查工作目录与用户权限

Dockerfile中已设置WORKDIR /opt/mule/bin和USER muser,可通过容器内命令确认muser对arm.sh的执行权限:

# 容器内执行
whoami && ls -l ./arm.sh

(chmod -R 777 /opt已覆盖权限,此步骤大概率没问题,但可快速排除权限异常)

内容的提问来源于stack exchange,提问作者Rama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:55:21