【Docker】Docker ~ docker を sudo なしで実行する ~

■ はじめに

小ネタ。

docker を sudo なしで実行できるように設定する

目次

【1】docker を sudo なしで実行する
 方法1:Ubuntuで確認
 方法2:Amazon Linux2で確認
【2】補足:使用しているコマンド
 1)groupadd
 2)usermod -aG
 3)gpasswd
 4)newgrp

【1】docker を sudo なしで実行する

* 各コマンドの詳細な解説は、下記「【2】補足」参照

方法1:Ubuntuで確認

sudo groupadd docker

# usermod コマンド: ユーザーアカウントの情報を変更する
sudo usermod -aG docker $USER

# newgrp:自分のグループを一時的に変更するときに使うコマンド
newgrp docker

docker run hello-world

方法2:Amazon Linux2で確認

# dockerグループがなければ作る
sudo groupadd docker

# 現行ユーザをdockerグループに所属させる
sudo gpasswd -a $USER docker

# dockerデーモンを再起動する
sudo systemctl restart docker

# exitして再ログインすると反映される。
exit

【2】補足:使用しているコマンド

* 以下の関連記事も参照。

Linux ~ ユーザに関わるコマンド ~
https://dk521123.hatenablog.com/entry/2016/06/26/233349

1)groupadd

* 新規グループ作成

https://atmarkit.itmedia.co.jp/ait/articles/1811/15/news025.html

2)usermod -aG

* ユーザのホームディレクトリやグループ、パスワードなどを
 変更するためのコマンド

https://atmarkit.itmedia.co.jp/ait/articles/1612/14/news022.html

Options

Option Explanation
-a (--append) 「-G」オプションで指定したグループをセカンダリーグループに追加する
-G (--groups) GROUP セカンダリーグループを変更する(複数ある場合は「,」で区切って指定)。変更ではなく追加したい場合は「-a」オプションを同時に指定する

3)gpasswd

* ユーザが所属するグループ情報を管理するためのコマンド

https://atmarkit.itmedia.co.jp/ait/articles/1612/12/news016.html

Options

Option Explanation
-a (--add) USER ユーザをグループに所属させる
-d (--delete) USER ユーザをグループのメンバーから外す

4)newgrp

* 自分のグループを一時的に変更するときに使うコマンド

https://wa3.i-3-i.info/word13792.html

参考文献

https://insilico-notebook.com/docker-run-without-sudo/
https://qiita.com/DQNEO/items/da5df074c48b012152ee

関連記事

Docker ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/02/25/000000
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711
Linux ~ ユーザに関わるコマンド ~
https://dk521123.hatenablog.com/entry/2016/06/26/233349