1. 程式人生 > >不使用sudo命令執行docker

不使用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

相關推薦

使用sudo命令執行docker

為什麼需要建立docker使用者組? Docker守候程序繫結的是一個unix socket,

不用加sudo許可權執行docker命令

1.建立docker組:sudo groupadd docker 2.將當前使用者加入docker組:sudo gpasswd -a ${USER} docker 3.重啟服務:sudo service docker restart 4.重新整理docker成員:newgrp - docke

docker容器中執行命令時,提示找命令

在使用docker容器時,有時候裡邊沒有安裝vi,敲vi命令時提示說:vi: command not found,這個時候就需要安裝vi,可是當你敲apt-get install vi命令時,提示: Reading package lists... Done  

sudo 執行Docker命令

Problem 預設安裝完 docker 後,每次執行 docker 都需要執行 sudo 命令,非常浪費時間影響效率。 如果不跟 sudo,直接執行 docker images 命令會有如下問題: [[email protected]-58

Docker學習(二):使用sudo執行Docker

為什麼需要建立docker使用者組? Docker守候程序繫結的是一個unix socket,而不是TCP埠。 這個套接字預設的屬主是root,其他是使用者可以使用sudo命令來訪問這個套接字檔案。因為這個原因,docker服務程序都是以root帳號的身份執

使用sudo執行命令的時候提示找命令

from : http://www.bubuko.com/infodetail-1281218.html 事出有因, 源自使用原始碼編譯 nginx , 在 /usr/local/sbin/ 目錄下建立了nginx 啟動的符號連結 , 執行 sudo nginx 的

Ubuntu 點選桌面程式圖示執行的程式和用命令sudo+可執行程式一樣

Sublime Text 安裝後出現 用點選桌面圖示執行程式和用sudo+可執行程式 出現不一樣的結果。經過查詢發現 首先修改可執行程式安裝路徑的許可權,然後修改.config 資料夾下 程式目錄的許可權,就可以了。

Vagrant使用者不用sudo執行docker命令

使用的vagrant使用者安裝docker使執行docker相關命令時如果不加sudo會報以以下錯誤: Got permission denied while trying to connect to

執行sudo命令時command not found的解決辦法

解決 這就是 t權限 子進程 lock 包括 defaults 什麽 調用 問題的原因: 在編譯sudo包的時候默認開啟了- -with-secure-path選項。 方法1: sudo vim /etc/sudoers,並在文件內增加這麽一行:Defaults secu

能使用sudo命令解決辦法

能夠 文件 多個 etc fin ember oot 自己的 桌面系統 # User privilege specification root ALL=(ALL) ALL # Members of the admin group may gain root privil

執行sudo命令時的提示語,如何修改?

defaults default 屏蔽 always web char pos something ref 如圖所示,執行sudo命令,提示語(有中文和英文兩個版本): 上面的提示內容是sudo軟件原生的內容。 使用下面的方法,有的時候是可行的。sudo -p ‘提示語‘

Linux中新建用戶用sudo命令問題:rootr is not in the sudoers file.This incident will be reported解決

c-c++ 進入 去掉註釋 去掉 sudo命令 wheel gpasswd sdn 通用 參考:https://blog.csdn.net/lichangzai/article/details/39501025 如果執行sudo命令的用戶沒有執行sudo的權限,執行su

遠程ssh執行命令時提示找命令

3.1.1 pan 執行 http hit 報錯 sdn too 主機 最開始的時候碰到這種問題,是在hadoop003上配置了jdk1.8, 在hadoop002上執行ssh hadoop003 java -version提示沒有命令,先ssh hadoop003然後執行

Linux系統centos中sudo命令能用----提升權限

不能 chmod root用戶 -- this user 權限 一行 not in gyx is not in the sudoers file. This incident will be reported. 1.切換到root用戶 su ,如果想要切換回去 exit2

docker6-執行docker命令|匯出docker內的資料庫sql檔案

在執行的容器中執行命令docker exec docker exec [OPTIONS] CONTAINER COMMAND [ARG…] -d :分離模式: 在後臺執行 -i :即使沒有附加也保持STDIN 開啟 -t :分配一個偽終端 以互動模式執行shel

sudo一個*.sh檔案找命令;終端啟動軟體終端能關閉

軟體目錄已經加入環境變數中. 在我的Ubuntu18下想要執行一個軟體的.sh啟動命令,於是就sudo xxx.sh卻提示找不到命令. 這是由於Ubuntu的安全機制導致的,個人的比較好的解決辦法是: 1,建立xxx.sh檔案的一個軟連線,最好是軟連線,加上-s引數 例如: sudo

win10中Telnet指令無效('telnet' 是內部或外部命令,也是可執行的程式)

先說說什麼是telnet命令? telnet命令用於登入遠端主機,對遠端主機進行管理。 舉個栗子:在cmd中執行telnet  localhost  8431  也就等同於在瀏覽器中輸入localhost:8431 如果在cmd中使用telnet指令發現報錯:

mysql是內部或外部命令,也是可執行的程式或批處理檔案

一:問題描述 剛裝好mysql後,登陸: C:\Users\Administrator>mysql -u root -p 報錯: 二:出錯原因 沒有配置你電腦的環境變數 三:解決辦法 在path裡面新增mysql bin目錄的路徑 右擊‘計算機’

配置maven環境變數cmd控制檯提示:mvn是內部或外部命令,也是可執行的程式或批處理檔案

下載Maven http://maven.apache.org/download.cgi 下載 apache-maven-x.x.x-.bin.zip ,下載後到硬碟 配置maven環境變數cmd控制檯提示:mvn不是內部或外部命令,也不是可執行的程式或批處理檔案 首先maven環境變數:

修改了etc下面sudoers許可權造成SUDO命令能用解決方法

先進入recovery模式(vmware啟動時長按shift)選root 然後 先輸入 mount -o remount,rw / 再 chmod 666 /etc/sudoers.d