linux centos7 非root用戶安裝源碼版docker

来源:https://www.cnblogs.com/gudanaimei/archive/2020/01/17/12204989.html
-Advertisement-
Play Games

註意:非root用戶必須要有sudo許可權 一、安裝前的準備 1.查看當前主機是否有docker組 若沒有輸出結果則新建 再次查看,發現已經有了docker組 2.新增擁有sudo許可權的用戶(若知道root和其他擁有sudo許可權的系統用戶密碼,跳到3;若都沒有,必做) 修改該用戶的密碼 為新增的用戶添 ...


註意:非root用戶必須要有sudo許可權

一、安裝前的準備

1.查看當前主機是否有docker組

若沒有輸出結果則新建

再次查看,發現已經有了docker組

2.新增擁有sudo許可權的用戶(若知道root和其他擁有sudo許可權的系統用戶密碼,跳到3;若都沒有,必做)

修改該用戶的密碼

為新增的用戶添加sudo許可權

sudo vi /etc/sudoers
  在92行下一行添加
  test      ALL=(ALL)      ALL

 

3.把當前用戶加入到docker組 (此時用戶並沒有加入進docker組)

切換至sudo許可權用戶,然後再切換回當前用戶(此時可以看到用戶已經加入docker組

3.刪除新增的用戶和它的sudo許可權(第2步沒做請忽略此步)

sudo vi /etc/sudoers
  在92行下一行添加
  test  ALL=(ALL)	ALL

兩次退出,不然刪除用戶時會報錯

二、安裝docker

1.下載docker源碼包並上傳至虛擬機

https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-18.09.0.tgz

2.解壓源碼包至指定目錄下

3.將解壓出來的docker目錄下的指令複製到 /usr/bin/ 目錄下

sudo cp docker/* /usr/bin/ 

 

4./usr/bin/目錄下docker有關指令的所屬用戶和所屬組(必做,不然非root用戶使用docker指令報錯:許可權不夠)

 

sudo chown root:docker /usr/bin/docker*
sudo chown root:docker /usr/bin/containerd*
sudo chown root:docker /usr/bin/runc
sudo chown root:docker /usr/bin/ctr

 

5.查看一下是否改變所屬用戶和所屬組(得到和解壓出來的docker目錄下的一樣的8個指令)

6.將docker註冊為service服務

新建該文件
sudo vi /etc/systemd/system/docker.service
加入以下內容:
[Unit] Description
=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target

 

7.添加執行許可權並重新載入配置文件

sudo chmod a+x /etc/systemd/system/docker.service
sudo systemctl daemon-reloa

8.docker鏡像加速(可以不做,但是docker pull會很慢,由於docker官網在海外)

新建該文件
sudo vi /etc/docker/daemon.json
加入以下內容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"] }

9.啟動docker

sudo systemctl start docker

三、docker基礎命令

docker啟/停/重啟/查看狀態
sudo systemctl start/stop/restart/status

查看docker已有鏡像
docker images

在docker官網搜尋指定鏡像
docker search 鏡像

下載鏡像(不加標簽預設下載最新版本的鏡像)
docker pull 鏡像名字:tag(即標簽)

啟動容器(以xxx名字運行基於鏡像的容器,並映射容器埠到本機埠,容器目錄文件儲存在本機目錄)
docker run -d -name xxx -p 本機埠:容器埠 -v 本機目錄:容器目錄 鏡像name:tag(或ID)

進入正在運行的容器內部
docker exec -it 容器name(或ID) /bin/bash

容器的啟/停/重啟/信息/刪除
docker start/stop/restart/inspect/rm 容器name(或ID)

查看正在運行的容器
docker ps

查看所有容器(包括正在運行的、停止的,不包括刪除的)
docker ps -a

鏡像的刪除(刪除鏡像前請刪除所有與該鏡像有關的容器)
docker rmi 鏡像name:tag(或ID)

查看當前安裝的docker有關信息
docker info

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Microsoft Visual Studio 2010 的項目為件改為Microsoft Visual Studio 2015預設打開 2010 的Solution (.Sln) file 更改為 2015 的Solution (.Sln) file ...
  • 本文將介紹如何在.NET Core3環境下使用MVVM框架Prism的使用事件聚合器實現模塊間的通信 一.事件聚合器 在上一篇 ".NET Core 3 WPF MVVM框架 Prism系列之模塊化" 我們留下了一些問題,就是如何處理同模塊不同窗體之間的通信和不同模塊之間不同窗體的通信,Prism提 ...
  • 官方資料:Shell Functions (Bash Reference Manual) 簡介 正如我們在《Bash腳本編程學習筆記06:條件結構體》中最後所說的,我們應該把一些可能反覆執行的代碼塊整合起來,避免反覆編寫使得代碼過於臃腫。 函數正是為瞭解決這個問題而存在的。函數在定義時,可以將常用的 ...
  • 先上目錄 chapter 3 [apue] dup2的正確打開方式 chapter 10 [apue] 等待子進程的那些事兒 chapter 14 [apue] 使用文件記錄鎖無法實現父子進程交互執行同步 chapter 15 [apue] 多進程管道讀寫的一些疑問 [apue] 測試管道容量的一些 ...
  • 在部署環境的時候,有時候會引用到虛擬主機的概念,什麼是虛擬主機呢,博主之前一直把虛擬主機的概念沒搞清楚,導致在部署的時候,一直動不動就404 ,或者500,或者伺服器不通 所以,什麼是虛擬主機呢? 虛擬主機概念大致同虛擬機的概念。 如果你有兩個不同功能變數名稱的網站,但是你只有一臺伺服器,這時候怎麼辦?其實 ...
  • fastdfs在雲伺服器的搭建和配置:https://blog.csdn.net/qq_41592652/article/details/104006289 springboot結構如下: application.properties配置如下: 1 server.port=8080 2 #單個文件最 ...
  • 前段時間寫一個傳遞文件句柄的小 demo,有 server 端、有 client 端,之間通過 Unix Domain Socket 通訊。 在普通模式下,雙方可以正常建立連接,當server端作為daemon啟動時,則第一次啟動成功,之後再啟動, listen 會連接報 ENOTSUPP 錯誤,導 ...
  • 安裝 首先安裝 "Docker" 與 "Docker Compose" 相關的組件,我們這裡直接使用準備好的 "ELK 鏡像" ,執行以下命令從 Dockerhub 上拉取指定版本的鏡像,在本例當中我使用的是 7.40 版本。 配置 為其編寫 文件,內容如下: 上面的 Yaml 文件內容大概意思就是 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...