同じDockerコンテナに複数の独立した添付ファイルを作成するには?

同じDockerコンテナに複数の独立した添付ファイルを作成するには?

たぶんマイナーな質問かもしれませんが、私の質問はこれです。

実行中のドッカーコンテナに接続されており、しばらくそれを使用した後、単体テストとgdbを「同時に」実行する必要があります。

だから別のシェルタブ(konsoleタブ)を開き、同じDockerコンテナに再接続しましたが、$ docker attach container_name私が行ったすべての操作は両方の添付ファイルに反映されました。そうすることで、cd /home/user/folder_foo他のタブも「同じ操作を実行」し、両方の konsole タブが同じフォルダに配置されます。同じコマンドが両方のタブに反映されるのと同じです。たぶんそれはユニークなユーザー構造であり、私は不可能かもしれません。

同じDockerコンテナで2つの操作を同時に実行する必要がありますが、どうすればよいですか?

$ docker --version
Docker version 20.10.9, build c2ea9bc

Ubuntu 21.04を使用しています

答え1

コンテナに接続現在の入出力ストリーム(したがって対話的に実行している場合は端末)をコンテナで実行されているエントリポイントコマンドに接続します。したがって、異なる端末の複数の添付ファイルは同じコマンドに対して同じ出力を表示し、両方の端末の入力は両方の添付ファイルに影響します。

同じコンテナで異なるコマンドを同時に実行するには、実際に必要です。各種コマンドの実行。 2番目のコマンドの場合は、最初の添付ファイルを保持して次のようにします。

docker exec -it container_name /bin/bash

/bin/bash(コンテナイメージがあると仮定)

これにより、同じ実行コンテナ内に2つの独立したシェルが提供されます。

関連情報