すでに実行中のDockerコンテナに新しいTTYで入る方法 質問する

すでに実行中のDockerコンテナに新しいTTYで入る方法 質問する

フォアグラウンドで Apache サービスを実行しているコンテナがあります。別のシェルからコンテナにアクセスして、コンテナ内を「調べて」ファイルを検査できるようにしたいと考えています。現時点では、コンテナに接続すると、Apache デーモンが表示されるだけで、コマンドを実行できません。

実行中のコンテナに別の tty を接続することは可能ですか? おそらく、Docker が実際には LXC コンテナをラップしているだけであるという事実を利用できるのではないでしょうか? 試してみましたsudo lxc-console -n [container-id] -t [1-4]が、利用できる tty は 1 つだけで、それが Apache デーモンを実行している tty のようです。ビルド中に複数の lxc コンソールを有効にする方法はあるのでしょうか?

可能であれば、openssh サービスを使用してコンテナを構成およびビルドすることは避けます。

ベストアンサー1

docker 1.3では新しいコマンドがありますdocker execこれにより、実行中のコンテナに入ることができます。

docker exec -it [container-id] bash

注:これは、bashコンテナーに がインストールされていることを前提としています。shコンテナーにインストールされている対話型シェルを実行できます。

おすすめ記事