解決Docker必須使用sudo操作的問題
1.創建docker組:sudo groupadd docker
2.將當前用戶加入docker組:sudo gpasswd -a ${USER} docker
3.重啟服務:sudo service docker restart
4.刷新docker成員:newgrp - docker
【注】:在ubuntu下親測,其他linux沒有測試。
補充:linux下docker安裝,以及配置不使用sudo命令執行docker
安裝執行以下命令即可
wget -qO- https://get.docker.com/ | sh
不使用sudo命令執行docker
為什么需要創建docker用戶組?Docker守候進程綁定的是一個unix socket,而不是TCP端口。這個套接字默認的屬主是root,其他是用戶可以使用sudo命令來訪問這個套接字文件。因為這個原因,docker服務進程都是以root帳號的身份運行的。
為了避免每次運行docker命令的時候都需要輸入sudo,可以創建一個docker用戶組,并把相應的用戶添加到這個分組里面。當docker進程啟動的時候,會設置該套接字可以被docker這個分組的用戶讀寫。這樣只要是在docker這個組里面的用戶就可以直接執行docker命令了。
警告:該dockergroup等同于root帳號,具體的詳情可以參考這篇文章: Docker Daemon AttackSurface .
1 使用有sudo權限的帳號登錄系統。
2 創建docker分組,并將相應的用戶添加到這個分組里面。
sudo usermod -aG docker your_username
3 退出,然后重新登錄,以便讓權限生效。
4 確認你可以直接運行docker命令。
$ docker run hello-world
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
1. vue項目配置同一局域網可使用ip訪問的操作2. vue 項目@change多個參數傳值多個事件的操作3. vue 中this.$set 動態綁定數據的案例講解4. Vue 路由返回恢復頁面狀態的操作方法5. 基于vue-simple-uploader封裝文件分片上傳、秒傳及斷點續傳的全局上傳插件功能6. 探究Android客戶端網絡預連接優化機制7. Android Studio實現簡單計算器APP8. vue使用webSocket更新實時天氣的方法9. Android在自定義類中實現自定義監聽器方式10. 解決vue項目中遇到 Cannot find module ‘chalk‘ 報錯的問題
