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://%2Fvar%2Frun%2Fdocker.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とします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください