最近、UbuntuにDockerをインストールしました。とても簡単でした。しかし、dockerコマンドを実行しようとすると、次のエラーが発生しました。
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.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied
何か特別なことをしようとしているわけではありません。これは、psなどの基本的なDockerコマンドでも発生します。
奇妙ですね。この厄介なエラーを乗り越える方法をお見せしましょう。
修正'試行中に許可が拒否されましたUbuntuのDockerでDockerデーモンソケットのエラーに接続する
これに対処するには2つの方法があります。
修正1:すべてのdockerコマンドをsudoで実行します
システムにsudoアクセス権がある場合は、sudoを使用して各dockerコマンドを実行できます。この「Dockerデーモンソケットに接続しようとしているときにアクセス許可が拒否されました」は表示されなくなります。
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 17 hours ago Exited (0) 16 hours ago container-2
2d9a8c190e6c ubuntu "/bin/bash" 17 hours ago Created container-1
しかし、sudoを使用してすべてのdockerコマンドを実行するのは非常に不便です。最初にsudoを追加し忘れると、「permissiondenied」エラーが再び発生します。
修正2:sudoなしでdockerコマンドを実行する
sudoを使用せずにdockerコマンドを実行するには、ユーザーアカウント(またはこの問題を修正しようとしているアカウント)をdockerグループに追加します。
まず、groupaddコマンドを使用してDockerグループを作成します。グループはすでに存在している可能性がありますが、グループ作成コマンドを実行しても問題はありません。
sudo groupadd docker
Dockerグループができたので、usermodコマンドを使用してユーザーをこのグループに追加します。自分のユーザーアカウントでそれを実行しようとしていると想定しています。その場合は、$USER変数を使用できます。
sudo usermod -aG docker $USER
グループのユーザーを一覧表示して、ユーザーがDockerグループに追加されていることを確認します。おそらくログアウトしてから再度ログインする必要があります 。
[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker
ログアウトしてもグループが表示されず、Dockerグループが表示されない場合は、 Ubuntuを再起動する必要がある場合があります 。これを回避するには、newgrpコマンドを使用して次のようにします。
newgrp docker
これで、sudoを使用せずにdockerコマンドを実行しようとすると、正常に機能するはずです。
場合によっては、過去にsudoを使用してdockerコマンドを実行したことがある場合は特に、一部のファイルに追加のアクセス許可を追加する必要があります。
/var/run/docker.sockファイルのグループ所有権を変更してみてください。
sudo chown root:docker /var/run/docker.sock
〜/.dockerディレクトリのグループ所有権を変更してみることもできます。
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
そして、sudoでdockerを実行してみてください。大丈夫なはずです。
この小さなチュートリアルが、厄介な「 unix:///var/run/docker.sockのDockerデーモンソケットに接続しようとしたときに許可が拒否されました:http://%2Fvar%2Frunを取得する」の修正に役立つことを願っています%2Fdocker.sock / v1.39 / containers / json:UNIX /var/run/docker.sockにダイヤル:接続:許可が拒否されました 」UbuntuのDockerでのエラー。
問題は解決しましたか?はいの場合、私はあなたからの感謝の簡単なコメントを歓迎します。そうでない場合は、この問題をさらに解決できるようサポートさせていただきます。