Go
golang
tool
docker
DockerDay 1

Goでdockerコマンドの履歴を保存&実行するツール作った

Docker Advent Calendar 2018 1日目です。

こんにちわ。

せっかくのアドベントカレンダー初日でエントリーがなかったので、
サクッとエントリーして、サクッとツールを作ったのでサクッと紹介します。

どんなやつ

docker ps -aやらdocker run --rm -it golangやらのコマンド履歴を保存して、
検索&実行ができるやつです。

image.png

導入

こちらに参照ください。
go getするかバイナリダウンロードするかしてください。

Macでしか動作確認していないのですが、Linuxでも動くと思います。
動かなかったらissueください。

おすすめ設定

alias docker='god'しておくことをおすすめします。
引数を指定した時は内部でその引数をdockerコマンドに渡しているだけですので、すべての引数使用可能です。

使い方

  • 履歴一覧から選択して実行
    引数無しで実行する一覧が出力されるので、選択した履歴が即実行されます。
    notargs.gif

  • 引数を渡して実行
    引数を渡すとそのままdockerコマンドに引数が渡され実行されます。
    haveargs.gif

履歴の保存先

$HOME/.docker_cmd_historyにあり、ただのファイルです。
削除すれば履歴全部消えます。

終わりに

Ctrl+rでコマンド履歴検索できるので、使い道はあまりなさそうですが、
dockerコマンドに関する履歴だけ絞って再実行する時に便利かもしれません。

サクッと作ったので、バグがあるかもしれません。
その時はissueください。

では、引き続きアドベントカレンダーお楽しみくださいー