docker - 任务定义中的命令导致异常

标签 docker amazon-ecs

原在 Dockerfile我用

 CMD python /app/src/main.py

在我的 docker 容器中启动一个进程。它按预期工作。

我现在正在将这些 docker 镜像部署到 aws ecs。

我要搬这个CMD从 Dockerfile 中删除并将其作为任务定义的一部分,因为我认为它会为我提供更大的灵活性。

enter image description here

但是,当 docker 容器启动时,它会发出以下异常:
container_linux.go:247: starting container process caused "exec: \"python
/app/src/main.py\": stat python /app/src/main.py: no such file or directory"

显然 ecs 将 CMD 参数视为引用单个文件。

我试图将命令定义为列表,即 ["python", " /app/src/main.py"]但它只是引发了一个不同的错误:container_linux.go:247: starting container process caused "exec: \"[\\\"python\\\"\": executable file not found in $PATH"

最佳答案

我需要将命令作为逗号分隔的字符串,即
python,/app/src/main.py

关于docker - 任务定义中的命令导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44773888/

相关文章:

amazon-web-services - AWS Batch 作业在计算环境中以 Min vCPUs=0 启动时间过长

amazon-web-services - 使用 ExecutionRole 从 ECS 任务访问参数存储值时出现问题

java - docker容器不会在后台启动Java

docker - 从 Marathon 中销毁 Docker 容器会杀死 Mesos slave

java - dockerfile - openjdk-8-jdk 有未满足的依赖关系

amazon-web-services - 如何为 Amazon ECR 配置自定义域名

amazon-web-services - 如何使用 CloudFormation 强制删除 AWS ECR?

amazon-web-services - 如何使用cloudformation创建ecs集群?

linux - 桥接模式下的docker网络

docker - Docker如何安装Shell函数?