LoginSignup
486
419

More than 5 years have passed since last update.

Docker初心者にオススメのゴリラ製ツール

Last updated at Posted at 2019-02-01

こんにちわ
ゴリラです。

みなさんDockerは好きですか?
自分はDocker好きです。
Docker面白いですよね。

本記事は、ゴリラによるDockerユーザのためのゴリラ製Dockerツールを紹介します。

以前こちらの記事でも作ったことを紹介したのですが、
あれから少し進化してより便利になったので、再度紹介します。

これからDockerを始めよう、
もしくはすでに始めている方にとって便利なツールかなと思います。

どういうツール

直感的にDockerを操作できるTUIツールです。
image.png

できること

現時点でできることは以下になります。

  • image
    • search/pull/remove
    • save/import/load
    • inspect/filtering
  • container
    • create/remove
    • start/stop
    • export/commit
    • inspect/rename/filtering
    • attach
  • volume
    • create/remove/prune
    • inspect/filtering
  • network
    • remove
    • inspect/filtering

まだ実装できていないものがありますが、
基本的にDocker単体でできることは大体カバーしています。

次、構成について説明していきます。

構成

info panel

画面最上部に

  • DockerのAPIバージョン
  • Docker Engineのバージョン
  • DockerのEndpoint
  • docuiのバージョン

が表示されます。

image.png

task list

イメージ取得やコンテナ作成など、各操作が非同期で動きます。
どんな操作がどういう状態なのかを確認するパネルになります。
将来的には履歴から同じ操作を行えるようにする予定です。
image.png

image list

現在あるイメージが表示されます。
image.png

container list

現在あるコンテナが表示されます。
image.png

volume list

現在あるボリュームが表示されます。
image.png

network list

現在あるネットワークが表示されます。
image.png

navigate panel

各パネルで可能な操作とキーが表示されます。
image.png

ログ

docuiではエラーが起きた時に、エラーの内容がログに出力されます。
ログの場所は$HOME/docui.logにあります。
バグの解析などで使用することがメインなので、普段見る必要はありません。

time="2019-01-27T18:28:12+09:00" level=info msg="docui start" func=main.main file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/main.go:14"
time="2019-01-27T18:28:23+09:00" level=info msg="inspect network start" func="github.com/skanehira/docui/panel.(*NetworkList).Detail" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/networkPanel.go:245"
time="2019-01-27T18:28:23+09:00" level=info msg="inspect network finished" func="github.com/skanehira/docui/panel.(*NetworkList).Detail" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/networkPanel.go:275"
time="2019-01-27T18:30:26+09:00" level=info msg="remove network start" func="github.com/skanehira/docui/panel.(*NetworkList).RemoveNetwork.func1.1" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/networkPanel.go:288"
time="2019-01-27T18:30:26+09:00" level=info msg="remove network finished" func="github.com/skanehira/docui/panel.(*NetworkList).RemoveNetwork.func1.1" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/networkPanel.go:296"
time="2019-01-27T18:32:05+09:00" level=info msg="remove image start" func="github.com/skanehira/docui/panel.(*ImageList).RemoveImage.func1.1" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/imagePanel.go:682"
time="2019-01-27T18:32:05+09:00" level=info msg="remove image finished" func="github.com/skanehira/docui/panel.(*ImageList).RemoveImage.func1.1" file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/panel/imagePanel.go:691"
time="2019-01-27T18:46:23+09:00" level=info msg="docui finished" func=main.main file="/Users/skanehira/dev/go/src/github.com/skanehira/docui/main.go:19"

使い方

各パネルでできることをgif付きで紹介していきます。

イメージ系操作

イメージ検索

Ctrl + f で検索フォームが出ます。
検索したいイメージ名を入力してEnterを押すと検索結果が出てきます。
取得したいイメージを選択して、Enterを押すとイメージを取得してくれます。

image_search.gif

イメージ取得

p で取得したいイメージ名を入力して取得できます。
非同期で動くので、大きいなイメージを取得している間はコンテナを作ったりする事ができます。
image_pull.gif

イメージ削除

d でイメージを削除できます。
間違って削除してしまわないように確認ダイアログがでます。
image_remove.gif

イメージ保存

s でイメージを保存できます。
ファイルパスは絶対パスでなければいけないです。
ファイル名のみの場合はカレントディレクトリに出力されます。
image_save.gif

イメージインポート

i でイメージをインポートできます。
ファイルパスは絶対パスでなければいけないです。
ファイル名のみの場合はカレントディレクトリを見に行きます。
イメージインポートはファイルシステムだけインポートします。(個人的に使いみが思いつかない)
image_import.gif

イメージロード

Ctrl + l でイメージをロードできます。
ファイルパスは絶対パスでなければいけないです。
ファイル名のみの場合はカレントディレクトリを見に行きます。
image_load.gif

イメージの詳細

Enter でイメージの詳細を確認できます。
内部ではdocker inspectしているだけです。
image_inspect.gif

イメージのフィルタリング

f でイメージ一覧のフィルタリングができます。
イメージが多い時に真価が発揮します。
image_filtering.gif

コンテナ系操作

コンテナ作成

Ctrl + c でコンテナ作成フォームが出ます。
全オプションは対応していないのですが、主要のオプションのみ用意してあります。
オプションを入力してCreateボタンを押すとコンテナが作成されます。
container_create.gif

コンテナ削除

d でコンテナを削除できます。
間違って削除してしまわないように確認ダイアログがでます。
container_remove.gif

コンテナ開始

u でコンテナを起動します。
毎回docker start containerしなくて済むので楽ですね。
container_start.gif

コンテナ停止

s でコンテナを止めます。
毎回docker stop containerしなくて済むので楽ですね。
container_stop.gif

コンテナ名変更

r でコンテナ名を変更できます。
docker container rename old newしなくて済むので楽ですね。
container_rename.gif

コンテナのアタッチ

Ctrl + c でコマンド(bashやsh)を入力してコンテナへアタッチできます。
コンテナが起動していないときはダイアログが出ます。
内部でdocker exec -it container cmdしていますので、抜けてもコンテナが落ちることはないです。
個人的に気にっている機能の一つです。
container_attach.gif

コンテナの詳細

Enter でコンテナの詳細を確認できます。
内部ではdocker inspectしているだけです。
container_inspect.gif

コンテナのフィルタリング

f でコンテナ一覧のフィルタリングができます。
container_filtering.gif

ボリューム系操作

ボリューム作成

c でオプションを入力でき、ボリュームを作成できます。
volume_create.gif

ボリューム削除

d でボリュームを削除できます。
間違って削除してしまわないように確認ダイアログがでます。
volume_remove.gif

ボリュームの詳細

Enter でボリュームの詳細を確認できます。
volume_inspect.gif

ボリュームのフィルタリング

f でボリューム一覧をフィルタリングできます。
volume_filtering.gif

ネットワーク系操作

ネットワークの削除

d でネットワークを削除できます。
間違って削除してしまわないように確認ダイアログがでます。
network_remove.gif

ネットワークの詳細

Enter でネットワークの詳細を確認できます。
内部ではdocker inspectしているだけです。
network_filtering.gif

ネットワークのフィルタリング

f でネットワーク一覧をフィルタリングできます。
network_filtering.gif

今後について

まだまだ実装したい機能があるので、
今後もゆっくりではあるんですが、更に使いやすくなるよう進化していきます。
issueとPR大歓迎なので、お待ちしています。

ちなみに、docuiとは関係ないのですが、
将来的にはdocker-composek8sも同じようなツールも作っていく予定です。

では良いDockerライフを〜

486
419
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
486
419