タイトルの通りですが、pecoでDockerを操作するコマンドを作りました。
はじめに理想を言うと、素のDockerコマンドをタイポせずすごい勢いで打てるのが一番カッコイイと思ってるのですが自分には無理なので最高のインタフェースを持つpeco(本当はpercol)でDocker操作を効率化できるようにしました。
これまではよく紹介されてるshell設定のエイリアスやスクリプト、pecoと組み合せた操作を設定して満足できてたんですが、ただ目的の操作のために毎回コマンドを実行しないといけないのが微妙にめんどいなって思ってたので1回のコマンド操作できるよう作りました。
だいたいの雰囲気はこんな感じです
docker rm
を連続で選択した場合
docker exec
を実行した場合(zsh設定でCtr-x rにバインドして起動してます)
特徴
https://github.com/fujimisakari/gdic
- コマンド名は go docker incremental cli の略から
gdic
としました。(特徴から単語を並べてみただけです) - 次のDockerコマンドをpecoで起動 → 選択できるようになる
docker exec
docker run
docker stop
docker rm
docker rmi
stop
、rm
、rmi
の場合は一度コマンドを起動するとexit
しない限りは連続で選択できるrun
、exec
の場合は、選択したコンテナ名で実行コマンドを生成できるrm
、rmi
のコマンド失敗時もpeco上でエラーメッセージを確認することができる
インストール方法
pecoをインストールして、gdicをgo get
します(バイナリの配布はしていません)
1 | # macの場合 |
使い方
Dockerコマンドをgdicに変更して実行すると、コマンドに関連した候補がpecoで起動されます。
1 | $ gdic exec |
あと、お好みですがShell設定(zsh)に以下を追加してます。
1 | # alias設定 |