2

如何获得对运行 Dataflow 工作器的 Docker 容器的 shell 访问权限?

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

上下文:我想在我的工作人员内使用 Docker 容器,但在工作人员容器内docker似乎没有可用的二进制文件。我试图在容器中安装 Docker,但是我遇到了错误,并且为了测试下一个命令而必须启动一个新的管道很慢。

4

1 回答 1

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
于 2015-02-02T04:13:43.350 回答