7.03.2014

Docker: docker-attach - Helper Script for Entering a Running Container

Docker: 起動しているコンテナの中に入るための便利スクリプト

 

Dockerコンテナ (libcontainer) に入るときは、ssh でも nsinit でもなく nsenter が一番いいらしい。

そのラッパーシェルを 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...]]]

 

 

 

Related Posts

0 件のコメント:

コメントを投稿