Docker: 起動しているコンテナの中に入るための便利スクリプト
Dockerコンテナ (libcontainer) に入るときは、ssh でも nsinit でもなく nsenter が一番いいらしい。
そのラッパーシェルを docker-attach という名前で書いていたが、自分が使いやすいようにバージョンアップしてみた。
リポジトリ
- mogproject/docker-attach
- 必要なのはこのシェルスクリプト1個だけ
docker-attach/docker-attach at master · mogproject/docker-attach
備考
- Mac上でも boot2docker VM上でも同じシンタックスで利用可能
- 事前に boot2docker VM上で セットアップ が必要
- READMEはそのうち書く。リポジトリ構成も整理する予定
使い方
引数なしで実行
$ docker-attach NO. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [1] 77c4f673e22d centos:latest /bin/sleep 1000 6 seconds ago Up 5 seconds insane_poincar [2] bf55f24e0231 centos:latest /bin/sleep 1000 7 seconds ago Up 6 seconds goofy_darwin [3] ae214f93be56 centos:latest /bin/sleep 1000 8 seconds ago Up 8 seconds furious_laland [4] 2af5192ee5a6 centos:latest /bin/sleep 1000 10 seconds ago Up 9 seconds mad_einstein [5] ff2b4987e717 centos:latest /bin/sleep 1000 11 seconds ago Up 11 seconds agitated_meitn [6] 0b2168db31db centos:latest /bin/sleep 1000 13 seconds ago Up 12 seconds focused_bell [7] 89bce218d973 centos:latest /bin/sleep 1000 14 seconds ago Up 14 seconds stoic_fermi [8] d9767d3d8551 centos:latest /bin/sleep 1000 16 seconds ago Up 15 seconds insane_tesla [9] ddd3b0e67a1c centos:latest /bin/sleep 1000 17 seconds ago Up 17 seconds furious_meitne [10] d4eea7f883d6 centos:latest /bin/sleep 1000 19 seconds ago Up 18 seconds condescending_ Enter number (1-10): 5 -sh-4.1# hostname ff2b4987e717 -sh-4.1# exit logout
docker ps の結果とプロンプトが出るので、入りたいコンテナを数字で指定する。
コンテナIDを引数に指定して実行
$ docker-attach 77c4 -sh-4.1# hostname 77c4f673e22d -sh-4.1# exit logout
コンテナID(識別可能な先頭の数文字でよい)がわかっている場合は、直接そのコンテナの中に入れる。
コンテナIDとコマンドを引数に与えて実行
$ docker-attach bf55 cat /etc/redhat-release CentOS release 6.5 (Final)
コンテナの中で指定したコマンドが実行される。
ヘルプ
$ docker-attach --help Usage: /usr/local/bin/docker-attach [CONTAINER [COMMAND [CMD_ARGS...]]]
0 件のコメント:
コメントを投稿