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

在AWS Batch运行Docker镜像时遇用户不存在错误的解决咨询

解决AWS Batch运行容器时的CannotStartContainerError问题

报错原因

你的AWS Batch作业定义里指定了以alex5rps用户启动容器,但当前构建的Docker镜像中没有创建这个用户,导致容器启动时无法在/etc/passwd中找到匹配条目,触发报错。

解决方案

方案1:使用容器默认用户(root)运行

修改AWS Batch的作业定义,移除用户配置项,或者明确设置用户为root(UID=0)。因为你的test.sh脚本仅输出Hello World,不需要特殊权限,用默认的root用户完全可以正常运行。

方案2:在Docker镜像中创建指定用户(如果必须用alex5rps)

修改你的Dockerfile,添加创建alex5rps用户的步骤,确保镜像中存在该用户的系统条目:

FROM ubuntu:latest

WORKDIR /myScript

# 创建alex5rps用户(-m参数自动创建家目录)
RUN useradd -m alex5rps

COPY ./test.sh .
RUN chmod +x ./test.sh

# 切换到alex5rps用户运行脚本
USER alex5rps

CMD ["./test.sh"]

重新构建并推送镜像到AWS ECR(或你使用的镜像仓库),再更新Batch作业定义即可。

补充说明

容器内运行进程不需要用户登录密码,AWS Batch作业配置里也不需要输入密码——只要镜像中存在对应的用户条目,指定用户后就能直接切换运行,无需密码验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:23:10