不使用sudo命令執行docker
為什麼需要建立docker使用者組?
Docker守候程序繫結的是一個unix socket,而不是TCP埠。這個套接字預設的屬主是root,其他是使用者可以使用sudo命令來訪問這個套接字檔案。因為這個原因,docker服務程序都是以root帳號的身份執行的。
為了避免每次執行docker命令的時候都需要輸入sudo,可以建立一個docker使用者組,並把相應的使用者新增到這個分組裡面。當docker程序啟動的時候,會設定該套接字可以被docker這個分組的使用者讀寫。這樣只要是在docker這個組裡面的使用者就可以直接執行docker命令了。
警告:該dockergroup等同於root帳號,具體的詳情可以參考這篇文章: Docker Daemon AttackSurface .
操作步驟:
使用有sudo許可權的帳號登入系統。
建立docker分組,並將相應的使用者新增到這個分組裡面。
sudo usermod -aG docker your_username
退出,然後重新登入,以便讓許可權生效。
確認你可以直接執行docker命令。
$ docker run hello-world