shell 在 Docker 图像中与 Amazon ECS 交互,带有 `aws ecs 运行-task`,后跟 `aws ecs execute-command`
Interactive shell in Docker image with Amazon ECS with `aws ecs run-task` followed by `aws ecs execute-command`
我想在我的 AWS ECS/Fargate 集群上将交互式 shell 启动到 public Docker 图像到 运行 network/connectivity从集群内部进行测试。
似乎官方的做法是 aws ecs run-task
后跟 aws ecs execute-command
[1][2]
如果可能,我想使用现有的 public Docker 中心图像而不是构建自定义图像。
如果我 运行 在没有命令或默认命令的情况下执行 run-task
,任务将退出并且 execute-command
将无法处理已退出的任务。
"Essential container in task exited"
如果我设置 sleep 10000
的 Docker 命令,我得到:
"CannotStartContainerError: ResourceInitializationError: failed to create new container runtime task: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: \"sleep 10000\": executable file not found in $PATH: unknown",
理想情况下,运行-task 和 execute-command 将合并为一个步骤。我不想要无限期地 运行ning 后台任务,我想要一个 shell 到 运行 几个交互命令,当我完成时就被清理掉了。我将如何实现这一目标?
[2]https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html
我遇到了同样的问题。我终于能够使用任务定义中的以下命令让容器处于“空闲”状态:
"tail", "-F", "/dev/null"
然后我可以通过交互式 execute-command
连接。
我想在我的 AWS ECS/Fargate 集群上将交互式 shell 启动到 public Docker 图像到 运行 network/connectivity从集群内部进行测试。
似乎官方的做法是 aws ecs run-task
后跟 aws ecs execute-command
[1][2]
如果可能,我想使用现有的 public Docker 中心图像而不是构建自定义图像。
如果我 运行 在没有命令或默认命令的情况下执行 run-task
,任务将退出并且 execute-command
将无法处理已退出的任务。
"Essential container in task exited"
如果我设置 sleep 10000
的 Docker 命令,我得到:
"CannotStartContainerError: ResourceInitializationError: failed to create new container runtime task: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: \"sleep 10000\": executable file not found in $PATH: unknown",
理想情况下,运行-task 和 execute-command 将合并为一个步骤。我不想要无限期地 运行ning 后台任务,我想要一个 shell 到 运行 几个交互命令,当我完成时就被清理掉了。我将如何实现这一目标?
[2]https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html
我遇到了同样的问题。我终于能够使用任务定义中的以下命令让容器处于“空闲”状态:
"tail", "-F", "/dev/null"
然后我可以通过交互式 execute-command
连接。