2

Dataflow ワーカーが実行されている Docker コンテナへのシェル アクセスを取得するにはどうすればよいですか?

この質問のコメントで述べたようにteardownPolicy=TEARDOWN_NEVER、パイプラインが終了した後もワーカー VM を維持するように設定できます。これにより、ホスト VM に SSH 接続できますが、ワーカー タスクが実行される Docker コンテナーには挿入されません。そのコンテナーへのシェル アクセスを取得するにはどうすればよいですか?

コンテキスト: ワーカー内の Docker コンテナーにシェルアウトしたいのですが、ワーカー コンテナー内でdockerバイナリが利用できないようです。コンテナーに Docker をインストールしようとしましたが、エラーが発生し、次のコマンドをテストするためだけに新しいパイプラインを開始する必要があり、時間がかかります。

4

1 に答える 1

1

Docker はワーカー コンテナー内にインストールされません。

現在、ワーカー内から Docker コンテナを開始するための Dataflow に組み込まれたサポートはあまりありません。

ただし、次のコマンドを使用して、実行中のコンテナーにシェルを作成できると思います

# 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 に答える