LoginSignup
2
4

More than 3 years have passed since last update.

docker exec & pecoが思いの外捗る

Last updated at Posted at 2020-02-12

dockerを使いはじめて2年くらいなのですが、今までコンテナに入るまでこんなことをしていました。

y-nishi@yutaroon: laravel-docker-template [master] » docker ps                                                                                 [23:44:39]
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                               NAMES
0fd143ed3db0        laravel-docker-template_nginx   "nginx -g 'daemon of…"   10 seconds ago      Up 10 seconds       0.0.0.0:3333->80/tcp                nginx
286b79e909a4        laravel-docker-template_php     "docker-php-entrypoi…"   11 seconds ago      Up 10 seconds       9000/tcp                            php
cef83b6bb200        laravel-docker-template_mysql   "docker-entrypoint.s…"   11 seconds ago      Up 10 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
y-nishi@yutaroon: laravel-docker-template [master] » docker exec -it 286b79e909a4 sh                                                           [23:44:52]
# echo 'mendokuseeee'
mendokuseeee
#

コンテナIDを調べたりコマンド打ったりとてもめんどうです。

そこでpecoを導入してみました。
こんな感じになります。
Image from Gyazo

僕の場合、dexec というエイリアスを登録して、これを叩くことでコンテナ選択に遷移するようにしています、

コンテナIDを意識せずに、コンテナ名を直感的に指定できるのでとても良いです。
コンテナがたくさん立ち上がっている環境だと一層操作しやすくなるのではないでしょうか。

やり方

僕はfishを使っているので、 ~/.config/fish/config.fish に下記を追記します。
bashの人は ~/.bashrc によしなに登録してください。

alias dps='docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Command}}\t{{.RunningFor}}"'
alias dexec='docker exec -it (dps | peco | cut -f 1) sh'
2
4
0

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
2
4