1. ホーム

[解決済み】Docker.NETの不具合を修正する方法。パーミッションが拒否される問題

2022-03-23 01:21:03

質問

Ubuntu OSを使用しているマシンにDockerをインストールしました。

実行すると

sudo docker run hello-world

全てOKですが、私は sudo コマンドを短くするためです。

を使わずにコマンドを書くと 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

どうすれば解決できますか?

どのように解決するのですか?

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

  1. dockerグループが存在しない場合、作成します。
$ sudo groupadd docker

  1. ユーザーをdockerグループに追加します。
$ sudo usermod -aG docker $USER

  1. 以下のコマンドを実行するか、一度ログアウトして再度ログインして実行します(うまくいかない場合は、マシンを再起動する必要があります)。
$ newgrp docker


  1. dockerがrootなしで実行できるかを確認する
$ docker run hello-world

エラーが発生した場合は、再起動が必要です。

$ reboot

警告

dockerグループは、rootユーザーと同等の権限を付与しています。これがシステムのセキュリティにどのような影響を与えるかについては Docker Daemonのアタックサーフェス。 .

docker公式ドキュメントより引用。 manage-docker-as-非ルートユーザー