Linux環境でdockerのコマンドをsudoなしで打てるようにする

Amazon LinuxとかUbutuとか。Linuxの一般ユーザでdockerのコマンドを実行するとパーミッションエラーになります。

# 一般ユーザで普通に実行するとパーミッションエラーとなる↓
$ docker container ls
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%!F(MISSING)var%!F(MISSING)run%!F(MISSING)docker.sock/v1.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied

これまでsudoでコマンドを実行していたのですが、いい加減面倒なので、一般ユーザでも普通にdockerコマンドを実行できるようにしました。

dockerグループにユーザを追加

といっても大したことは全然してなくて、下記コマンドでdockerグループにユーザを追加しただけです。

sudo usermod -a -G docker username

グループにユーザが追加されたか確認

sudoなしでdockerコマンドを実行できればそれでOKなのですが、念の為に確認方法をまとめると、 /etc/group を覗くか、 groups コマンドでチェックできます。

/etc/groupでチェックする方法

less /etc/group

# 出力結果例↓
...省略
vagrant:x:1000:
ubuntu:x:1001:
vboxsf:x:999:
docker:x:998:vagrant

groupsコマンドでチェックする方法

groups

まとめ

dockerグループにユーザを追加することで、sudoなしでdockerコマンドを実行できるようになります。やったね!

usermod はLinuxの初級コマンドなのですが、あまり使わないので忘れちゃいますよね。。まぁこんなのがあったなぁと思い出せるだけでもOKとします。