问题描述
我正在尝试使用 AWS 批处理运行一个简单的 Dockerized Python 脚本。
我的 Docker 镜像有问题吗?
我在本地构建了 Docker 镜像,它在本地运行良好。我将映像推送到 AWS 存储库,并将此远程映像拉到我的本地机器也可以正常运行。
问题
我已经设置了计算环境、作业队列和作业定义,但出现此错误
CannotStartContainerError: Error response from daemon:
OCI runtime create Failed: container_linux.go:370:
starting container process caused:
exec: "docker": executable file not found in $PATH: unkNown
当我跑步时
["docker","run","-t","111111111111.dkr.ecr.us-region-X.amazonaws.com/myimage:latest","python3","hello_world.py","--MSG","ok"]
是否安装了 Docker?
我使用的是 ECS_AL2
图像类型。当我使用这个 AMI 启动 EC2 并通过 ssh 进入它时,我可以看到 Docker 已经安装。例如,docker run
工作正常。
我的计算环境、作业队列或作业定义是否存在(通用)问题?
当我尝试运行命令 echo hello
时,效果很好。
感谢您提供的任何建议/帮助。
更新 - 答案
@samtoddler 帮助我意识到我只需要
["python3","ok"]
在命令语句中
解决方法
这个错误
CannotStartContainerError:来自守护进程的错误响应:
这意味着它来自 docker 守护进程,所以 docker 正在做它的工作。
您的 docker 镜像、它的打包方式以及您尝试传递所有这些变量的方式似乎有些问题。
请查看 Docker Image CMD 部分,了解如何使用 ENTRYPOINT 和 CMD。
这个问题有一些解释docker-oci-runtime-create-failed-container-linux-go349-starting-container-pro