docker を修正する方法: 権限が拒否された問題 質問する

docker を修正する方法: 権限が拒否された問題 質問する

Ubuntu OS がインストールされているマシンに Docker をインストールしました。
以下を実行します。

sudo docker run hello-world

sudoすべてはOKですが、コマンドを短くするためにコマンドを
表示にしたいです。sudo

docker run hello-world

次のように表示されます。

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.

実行しようとすると、同じことが起こります:

docker-compose up

これを解決するにはどうすればよいですか?

ベストアンサー1

非ルートユーザーとして docker を実行する場合は、docker グループに追加する必要があります。

  1. docker グループが存在しない場合は作成します
$ sudo groupadd docker
  1. ユーザーを docker グループに追加します。
$ sudo usermod -aG docker $USER
  1. 新しいdockerグループにログインします (ログアウト/再度ログインする必要がないようにするためですが、十分でない場合は再起動を試みてください)。
$ newgrp docker
  1. docker がルートなしで実行できるかどうかを確認する
$ docker run hello-world

それでもエラーが発生する場合は再起動してください

$ reboot

警告

dockerグループはrootユーザーと同等の権限を付与します。これがシステムのセキュリティにどのような影響を与えるかの詳細については、以下を参照してください。Docker デーモンの攻撃対象領域。

docker の公式ドキュメントから引用:非ルートユーザーとして Docker を管理する

おすすめ記事