環境
- Amazon Linux 2
- ec2-user
Docker コマンドを一般ユーザーで実行
Docker コマンドを一般ユーザーで実行すると、次のようなエラーが発生。
$docker ps
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.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
この問題を回避するには、毎回 sudo をつける必要があり、かなり面倒。
対象のユーザーをDocker グループに所属させることで問題を回避してみる。
実行コマンド
sudo groupadd docker
sudo usermod -g docker ec2-user
sudo systemctl restart docker
exit
設定を反映するために一度サーバーからログアウトし再度 ssh でログインをします。
再び ssh でサーバーにアクセスし、Docker コマンドを実行すると sudo をつけずにコマンドの実行が確認できました。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES