1. ホーム
  2. docker

[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法

2022-03-16 22:04:44

質問

私は、フォアグラウンドでApacheサービスを実行しているコンテナを持っています。私は、コンテナの内部を詮索してファイルを調べるために、別のシェルからコンテナにアクセスできるようにしたいと思います。現時点では、コンテナにアタッチすると、Apacheデーモンが表示されたままになり、コマンドを実行できません。

実行中のコンテナに別のttyをアタッチすることは可能でしょうか?もしかしたら、Dockerが実はLXCコンテナをラッピングしているだけだということを利用できるかもしれませんね?私は、以下のことを試してみました。 sudo lxc-console -n [container-id] -t [1-4] しかし、利用できるのは1つのttyだけで、それはapacheデーモンを実行しているものであるように見えます。おそらく、ビルド中に複数の lxc コンソールを有効にする方法があるのでしょうか?

私はむしろ ではなく は、可能であれば openssh サービスでコンテナを構成してビルドします。

解決方法は?

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

docker exec -it [container-id] bash

を想定しています。 bash がコンテナにインストールされていることを確認します。コンテナ上で sh またはコンテナにインストールされている任意の対話型シェルを使用することができます。