我想在我的AWS ECS/Fargate集群上的公共Docker镜像中启动一个交互式shell,以便从集群内部运行网络/连接测试。
看起来官方的做法是先使用aws ecs run-task,然后使用aws ecs execute-command 1
如果可能的话,我希望使用现有的公共Docker Hub镜像,而不是构建自定义镜像。
如果我不使用任何命令或默认命令运行do run-task,任务将退出,并且execute-command将不会在已退出的任务上工作。
"Essential container in task exited"如果我将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-task和execute-command应该组合在一个步骤中。我不希望后台任务无限期地运行,我希望shell交互地运行几个命令,这些命令在我完成时会被清除。我将如何实现这一点?
发布于 2021-09-20 16:07:57
我也有同样的问题。我终于能够通过任务定义中的以下命令让一个容器处于“空闲”状态:
"tail", "-F", "/dev/null"然后我就可以用一个交互式的execute-command连接了。
https://stackoverflow.com/questions/69257527
复制相似问题