cla*_*lay 5 amazon-web-services amazon-ecs docker aws-fargate
我想在我的 AWS ECS/Fargate 集群上的公共 Docker 映像中启动交互式 shell,以从集群内部运行网络/连接测试。
似乎执行此操作的官方方法是后跟aws ecs run-task[ aws ecs execute-command1][2]
如果可能的话,我想使用现有的公共 Docker Hub 映像,而不是构建自定义映像。
如果我run-task不使用任何命令或使用默认命令运行 do,则任务将退出并且execute-command无法处理已退出的任务。
"Essential container in task exited"
Run Code Online (Sandbox Code Playgroud)
如果我设置 Docker 命令sleep 10000,我会得到:
"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",
Run Code Online (Sandbox Code Playgroud)
理想情况下,运行任务和执行命令将合并在一个步骤中。我不希望后台任务无限期地运行,我想要一个 shell 交互式地运行一些命令,当我完成时会被清理。我将如何实现这一目标?
[2] https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html
我遇到过同样的问题。我终于能够使用任务定义中的以下命令让容器处于“空闲”状态:
"tail", "-F", "/dev/null"
Run Code Online (Sandbox Code Playgroud)
然后我可以通过交互式连接execute-command。
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |