環境:linux
下方錯誤訊息,表示目前的使用者身分沒有權限。
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.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=ocms_server&target=&ulimits=null&version=1": dial unix /var/run/docker.sock: connect: permission denied
解決方式:
- 最前方加入sudo(每次都需要加sudo有點麻煩)
- 將目前使用者加到docker群組裡面(本篇使用的方法)
建立 docker 群組
sudo groupadd docker
如果一開始就已經有群組的話,就則會告知下方訊息
groupadd: group 'docker' already exists
將非 root 帳號加上 docker 群組中
將連接的用戶”$USER”添加到docker組。
如果不想使用當前用戶,請更改用戶名
sudo gpasswd -a $USER docker
成功則返回:
Adding user admins to group docker
group 的資訊並不會立刻更新,為了要能立刻產生作用,執行 newgrp docker,
讓這個帳號立刻改成使用 docker 這個群組 (或是你要登出登入也行):
執行下方指令, 或注銷/進入以激活對組的更改:
newgrp docker
重新啟動 docker 服務
重啟 docker 服務之後,所有的變動就完成了:
sudo systemctl restart docker