Docker Online Meetup #3でメモした使い方です。
これまでコンテナのデバッグ用にphusion/baseimageを使いsshdをインストールしていました。
nsenterコマンドを使うとsshdをインストールしなくても起動したコンテナにattachすることができます。
本当にsshdが必要なケースもあると思いますが、disposableな使い方を推進したいのでなるべくsshdは使わないようにしていきます。
nsenterコマンドのインストールは、jpetazzo/nsenterのDockerコンテナからvolumeオプションを使い、コマンドをホストにマウントすることができます。
jpetazzo/nsenter
jpetazzo/nsenterのDockerコンテナからnsenterコマンドをインストールします。
--rm
オプションを使い、jpetazzo/nsenter
を起動します。-v
オプションを使い、コンテナの/target
をDockerホストの/usr/local/bin
にマウントすることで、
nsenterコマンドをインストールします。
$ sudo mkdir /usr/local/bin |
~/bin/nse
nsenterコマンドを便利に使う~/bin/nse
コマンドを作成します。
|
chmodで実行権限をつけます。
$ chmod u+x ~/bin/nse |
CONTAINER_ID
を引数に指定して、コンテナにアタッチします。
$ nse CONTAINER_ID |
使い方
アタッチするコンテナは起動している必要があります。
$ docker start b008d160f798 |
~/bin/nse
コマンドを使いコンテナにアタッチします。
$ nse b008 |