Tags:

dockerコマンドを実行する際に実行ユーザーがdockerグループに所属していない場合sudoをつけて実行する必要があります.
ユーザーをdockerグループに所属させれば済む話ではありますが既にある程度の数のユーザーとそのユーザーが所属するグループがある場合いちいちdockerグループにユーザーを追加させるのは面倒です.
今回はdockerの実行グループを変更して解決します.

今回はserviceファイルに追記しますがdaemon.jsonに書いた方が良い気がします…

まず目的のグループのIDをidコマンドかgetent辺りを使って確認します.

$ getent group hoge
hoge:*:9999:foo,bar

次にdocker.serviceを編集します.
Gオプションでデフォルトグループから変更出来るので変更します.
グループ名でも指定できますが当該グループがLDAPで管理されたグループの場合参照エラーが発生してサービスが起動しなかったためグループIDで指定しています.

$ sudo vi /usr/lib/systemd/system/docker.service
- ExecStart=/usr/bin/dockerd
+ ExecStart=/usr/bin/dockerd -G 9999

サービスを再起動します

$ sudo service docker restart

これでグループhogeに所属しているユーザーはコマンドを実行できるようになったはずです.

以下の記事が参考になりました.



コメント