我正在尝试使用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和ssh启动EC2时,我可以看到Docker已经安装好了。例如,docker run
运行良好。
我的计算环境、作业队列或作业定义是否存在(一般(问题
相反,当我尝试运行命令echo hello
时,它可以正常工作。
感谢您提供的任何建议/帮助。
更新-答案
@sam蹒跚学步的孩子帮助我意识到我只需要
["python3","hello_world.py","--MSG","ok"]
在命令语句中
此错误
CannotStartContainerError:来自守护进程的错误响应:
这意味着它来自docker守护进程,所以docker正在完成它的工作。
看起来你的docker图像、它的打包方式以及你试图传递所有vars的方式都有一些问题。
请查看Docker Image CMD部分,了解如何使用ENTRYPOINT和CMD。
这个问题有一些解释,docker-oi-runtime-create-failed-container-linux-go349-starting-container-pro