概要
これまでDockerはコマンドラインから操作していたのですが、ふと、EmacsでDockerが扱えるのでは?と思い調べてみたところ、そういったパッケージがありました。
あまりに便利で驚きました。。
参考
詳細
確認したのは下記のパッケージです。
GitHub - Silex/docker.el: Manage docker from Emacs.
Manage docker from Emacs. Contribute to Silex/docker.el development by creating an account on GitHub.
GitHub - emacs-pe/docker-tramp.el: TRAMP integration for docker containers
TRAMP integration for docker containers. Contribute to emacs-pe/docker-tramp.el development by creating an account on GitHub.
GitHub - masasam/emacs-counsel-tramp: Tramp ivy interface for ssh and docker and vagrant
Tramp ivy interface for ssh and docker and vagrant - masasam/emacs-counsel-tramp
docker-tramp.el については、GitHubのREADMEに下記の通り記載があり、Emacs29ではインストール不要でした。
NOTE: Similar functionality is built-in to Emacs from version 29 onwards, so perhaps you don’t need this package any more.
その他は package.el でインストールしました。
使用例
M-x docker から、c (Containers)、i (Images) が選択できます。
コンテナ、イメージが参照できます。
docker-images
? キー押下でメニューが表示され、Remove, Pull, Inspect, Push, Run, Tag など実行できます!
docker-containers
こちらも ? キー押下でメニューが表示され、Kill, Stop, Start など実行できます!
また、tramp から /docker: を入力して Tab補完で実行中のコンテナが選択でき、中に入れます!
コンテナであることを意識することなく、Dired で各種操作ができます!
まとめ
今頃気付いたのかと突っ込まれそうですが(誰に?)、非常に便利なのでこれから積極的に使っていこうと思います。