在Cloud Dataflow中,如何检查工作程序运行的Docker容器?

时间:2015-02-02 01:31:19

标签: google-cloud-dataflow

如何获取对Dataflow工作程序运行的Docker容器的shell访问?

正如this question的评论中所提到的,我们可以设置teardownPolicy=TEARDOWN_NEVER以在管道完成后保留工作虚拟机。 这允许我们SSH到主机VM,但它不会将我们插入到运行工作任务的Docker容器中。 如何获得对该容器的shell访问权限?

上下文:我想在我的worker中找到一个Docker容器,但docker二进制文件似乎在worker容器中不可用。 我试图在容器中安装Docker,但是我遇到了错误,并且为了测试下一个命令而不得不启动一个新管道很慢。

1 个答案:

答案 0 :(得分:1)

Docker未安装在工作容器中。

目前,Dataflow中没有太多支持从您的工作者中启动Docker容器。

但是我认为以下命令可用于在正在运行的容器中创建shell

# List containers and their IDs
docker ps -notrunc
# Grab the process id of the container
PID=$(docker inspect --format '{{.State.Pid}}' my_container_id)
# Get an interactive shell on the container
nsenter --target $PID --mount --uts --ipc --net --pid