Ubuntu

Dockerでコンテナリストの表示項目をカスタマイズする

Samba ad dcのコンテナが多数のポートを使用しているので、コンテナのリストがとても見づらくなっている。



広告


このような表示になっている。

CONTAINER ID   IMAGE                  COMMAND                  CREATED       STATUS                   PORTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  NAMES
654ec47f45f0   gitea/gitea:1.17.2     "/usr/bin/entrypoint…"  7 hours ago   Up 47 minutes            0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 127.0.0.1:2222->22/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                      gitea
12a2dcc3395b   custom/samba:1.0.0     "/entrypoint.sh"         3 days ago    Up 47 minutes            192.168.110.10:53->53/tcp, 192.168.110.10:53->53/udp, 192.168.110.10:88->88/tcp, 192.168.110.10:88->88/udp, 192.168.110.10:135->135/tcp, 192.168.110.10:139->139/tcp, 192.168.110.10:137-138->137-138/udp, 192.168.110.10:389->389/tcp, 192.168.110.10:445->445/tcp, 192.168.110.10:389->389/udp, 192.168.110.10:464->464/tcp, 192.168.110.10:636->636/tcp, 192.168.110.10:3268-3269->3268-3269/tcp, 192.168.110.10:49152-49200->49152-49200/tcp, 192.168.110.10:464->464/udp, 0.0.0.0:8081->80/tcp, :::8081->80/tcp   samba

表示する情報は調整できるようだ。(man docker-container-ls)
これぐらいの情報がちょうどいい。

$ sudo docker container ls --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}\t{{.Networks}}\t{{.Size}}"
NAMES       STATUS          CONTAINER ID   IMAGE                  NETWORKS        SIZE
gitea       Up 25 minutes   654ec47f45f0   gitea/gitea:1.17.2     gitea_gitea     87.9MB (virtual 337MB)
gitea_db    Up 25 minutes   c4fee41c9560   mysql:8                gitea_gitea     6B (virtual 447MB)
kopano      Up 25 minutes   ebabafe5de34   custom/kopano:1.0.0    kopano_kopano   3.84MB (virtual 893MB)
kopano_db   Up 25 minutes   a36a217717e9   mariadb:10.8.3-jammy   kopano_kopano   20B (virtual 383MB)
samba       Up 25 minutes   12a2dcc3395b   custom/samba:1.0.0     samba_samba     4.58MB (virtual 717MB)

alias登録しておこう。

~/.bash_aliases

alias sudo='sudo '
alias docker-ps='docker container ls --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}\t{{.Networks}}\t{{.Size}}"'

これで、次回ログイン時から docker-ps が使える。
すぐに反映させるには、以下を実行。

$ source ~/.bash_aliases

試してみる。

$ sudo docker-ps
NAMES       STATUS          CONTAINER ID   IMAGE                  NETWORKS        SIZE
gitea       Up 42 minutes   654ec47f45f0   gitea/gitea:1.17.2     gitea_gitea     87.9MB (virtual 337MB)
gitea_db    Up 42 minutes   c4fee41c9560   mysql:8                gitea_gitea     6B (virtual 447MB)
kopano      Up 42 minutes   ebabafe5de34   custom/kopano:1.0.0    kopano_kopano   3.84MB (virtual 893MB)
kopano_db   Up 42 minutes   a36a217717e9   mariadb:10.8.3-jammy   kopano_kopano   20B (virtual 383MB)
samba       Up 42 minutes   12a2dcc3395b   custom/samba:1.0.0     samba_samba     4.58MB (virtual 717MB)

-aオプションはどうだろう?

$ sudo docker-ps -a
NAMES       STATUS                   CONTAINER ID   IMAGE                  NETWORKS            SIZE
gitea       Up 53 minutes            654ec47f45f0   gitea/gitea:1.17.2     gitea_gitea         87.9MB (virtual 337MB)
gitea_db    Up 53 minutes            c4fee41c9560   mysql:8                gitea_gitea         6B (virtual 447MB)
backup      Exited (0) 7 hours ago   3fdbf919dea9   custom/backup:1.0.0    hd-backup_default   362kB (virtual 149MB)
kopano      Up 53 minutes            ebabafe5de34   custom/kopano:1.0.0    kopano_kopano       3.84MB (virtual 893MB)
kopano_db   Up 53 minutes            a36a217717e9   mariadb:10.8.3-jammy   kopano_kopano       20B (virtual 383MB)
samba       Up 53 minutes            12a2dcc3395b   custom/samba:1.0.0     samba_samba         4.58MB (virtual 717MB)

上手く動きそうだ。

やったこと

フォーマット指定の方法が分かったのは良いけれど、毎回これを入力するのは億劫。

alias。知ってはいたが、上手く使えていない機能。
Qitta / Linux Ubuntu aliasは.bash_aliasesに書こう

~/.bash_aliases ※新規作成

alias docker-ps='docker container ls --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}\t{{.Networks}}\t{{.Size}}"'

$ docker-ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?size=1": dial unix /var/run/docker.sock: connect: permission denied
$ sudo docker-ps
sudo: docker-ls: command not found

なるほど。一般ユーザーでは権限が足らず、sudoするとaliasesが見つからないのか。

/root/.bash_aliases ※新規作成したが不要だった

alias docker-ps='docker container ls --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}\t{{.Networks}}\t{{.Size}}"'

$ sudo docker-ps
sudo: docker-ls: command not found

え? 見つからない?

sudoのaliasを作り、最後に空白を追加すると、その後に続くコマンドがalias展開されるとのこと。
Qitta / sudoコマンドでaliasを使えるようにする

~/.bash_aliases ※これが結論

alias sudo='sudo '
alias docker-ps='docker container ls --format "table {{.Names}}\t{{.Status}}\t{{.ID}}\t{{.Image}}\t{{.Networks}}\t{{.Size}}"'

※赤文字を追加

試してみる。

$ sudo rm /root/.bash_aliases ← 先程作ったrootの.bash_aliasesを削除
$ sudo docker-ps
NAMES       STATUS          CONTAINER ID   IMAGE                  NETWORKS        SIZE
gitea       Up 36 minutes   654ec47f45f0   gitea/gitea:1.17.2     gitea_gitea     87.9MB (virtual 337MB)
gitea_db    Up 36 minutes   c4fee41c9560   mysql:8                gitea_gitea     6B (virtual 447MB)
kopano      Up 36 minutes   ebabafe5de34   custom/kopano:1.0.0    kopano_kopano   3.84MB (virtual 893MB)
kopano_db   Up 36 minutes   a36a217717e9   mariadb:10.8.3-jammy   kopano_kopano   20B (virtual 383MB)
samba       Up 36 minutes   12a2dcc3395b   custom/samba:1.0.0     samba_samba     4.58MB (virtual 717MB)

今までできていなかったアレ、もしかしてできるようになるの?

$ sudo ll
total 176
drwxr-x--- 16 rohhie rohhie  4096 Sep 21 22:58 ./
drwxr-xr-x  4 root   root    4096 Sep 16 22:44 ../
-rw-rw-r--  1 rohhie rohhie   145 Sep 21 22:56 .bash_aliases
-rw-------  1 rohhie rohhie 56864 Sep 21 22:56 .bash_history
-rw-r--r--  1 rohhie rohhie   220 Jan  7  2022 .bash_logout
-rw-r--r--  1 rohhie rohhie  3771 Jan  7  2022 .bashrc
…

なるほどー。

コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他