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とします。