LoginSignup
24
18

More than 5 years have passed since last update.

CentOS7でdockerコマンドをsudoなしで実行する

Posted at

はじめに

CentOS7 で docker コマンドを sudo なし(rootユーザ以外でも)実行するための方法です。
内容的には二番煎じ感があるのですが、過去、自分は

  1. CentOS7 で docker をインストールされた際に作成される dockerroot グループに、docker 操作ユーザを入れる
  2. docker 起動時に chgrp dockerroot /var/run/docker.sock をするような仕掛けを作る

というやり方でこれを実現していたのですが(実際にこのやり方を紹介している記事もありました)、もっと適切なやり方があったのでまとめておきます。

手順

docker は CentOS7 の rpm パッケージでインストールされている状態とします。

1. docker group を新規作成する

$ sudo groupadd docker
  • CentOS7 で docker をインストールしても docker group は作成されないので新規作成します

2. docker を再起動する

$ sudo systemctl restart docker
  • docker 起動時に docker group が存在している場合、/var/run/docker.sock の group が docker になります
$ ls -la /var/run/docker.sock
srw-rw---- 1 root root 0 Mar 21 21:05 /var/run/docker.sock
$ sudo groupadd docker
$ sudo systemctl restart docker
$ ls -la /var/run/docker.sock
srw-rw---- 1 root docker 0 Mar 21 21:06 /var/run/docker.sock

もし、なんらかの理由で docker を再起動できない場合には、/var/run/docker.sock の group を直接変更しましょう。

$ sudo chgrp docker /var/run/docker.sock

3. sudo なしで docker コマンドを実行させたいユーザを、docker group に所属させる

$ sudo gpasswd -a $USER docker
  • これで $USER が次回ログイン時には docker group に所属となり、sudo なしで docker コマンドが利用できるようになります

これでおしまいです。

24
18
1

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
24
18