家庭NAS之Ubuntu下Docker的安裝與使用

經(jīng)過前面那么多期的鋪墊,今天我們終于可以來安裝使用我么的docker了。這是一個非常好用的工具,我們的NAS服務(wù)百分之九十都會部署在docker上運行。

有了docker以后,你不再需要小心翼翼地擔心把系統(tǒng)配置搞亂無法恢復(fù),在這里你可以通過幾個簡單地命令就可以將相關(guān)服務(wù)重新部署回來。

就這樣,請擁有,并享受

Docker簡介

如你并不想了解Docker是什么,只需要能簡單的用就行地話你可以跳過本小節(jié),直接進入Docker的安裝部分。

關(guān)于Docker的詳細信息我們可以去Docker的官網(wǎng)查看,點擊這里可以跳轉(zhuǎn)。

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

這是百科對Docker的解釋,看到這里是不是很懵,不要緊,我來為你解釋。

Docker是一個容器引擎,容器就是用來放東西的,Docker容器里面放的就是操作系統(tǒng),一個容器對應(yīng)一個操作系統(tǒng),你可以把Docker想象成虛擬機,但是和虛擬機不同的是,得益于Docker的機制,在Docker中運行虛擬機往往不需要很多內(nèi)存以及處理器資源,相比VMWare動則幾個G的大小,在Docker中運行一個虛擬機僅需幾十兆到幾百兆的空間,你可以運行幾十甚至上百個虛擬機在Docker中,這是VMWare所不能比的。

在開始搭建之前,你需要了解docker的幾個基本概念

鏡像:鏡像就是實際就類似于一個安裝鏡像,比如你需要安裝Windows,那么你需要去微軟的官網(wǎng)下載windows的鏡像,你才能進行安裝。

DockerHub:DockerHub就是一個存放以及分享鏡像的地方,你可以將你自己制作的鏡像上傳到DockerHub與別人分享,你也可以到DockerHub下載別人分享的鏡像進行使用。

容器:當你啟動了一個鏡像之后,對應(yīng)著就會有一個容器生成,容器是用來存儲鏡像運行時的狀態(tài)的,這就相當于你通過鏡像創(chuàng)建了一個虛擬機,那么創(chuàng)建完成后你的虛擬機就跑在了容器中。鏡像是靜態(tài)的,而容器是動態(tài)的。

有了對Docker的一個簡單了解后,我們就可以進行接下來的操作了。

Docker安裝與卸載

Docker安裝

在apt的官方源中已經(jīng)加入了Docker,但是這往往不是最新的版本,要安裝最新的版本,我們需要進行一些簡單的配置。

Docker提供了Enterprise以及Community兩個版本可供安裝,我們只需要安裝Community版即可,這是一個社區(qū)版,可以免費使用。

如果你以及安裝了一個老的版本的Docker,那么你需要先卸載它,老版本的Docker軟件名字為dockerdocker.io或者是docker-engine,你可以通過下面語句卸載它。

sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 首先更新apt包的索引:
sudo apt update
  1. 安裝軟件包以允許apt通過HTTPS使用存儲庫:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. 添加Docker的官方GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通過搜索指紋的后8個字符,驗證您現(xiàn)在是否擁有帶有指紋的密鑰 。

sudo apt-key fingerprint 0EBFCD88

執(zhí)行后出現(xiàn)以下內(nèi)容即添加成功

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

  1. 使用以下命令來設(shè)置穩(wěn)定的存儲庫
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  1. 更新apt包索引。
sudo apt-get update
  1. 安裝最新版本的Docker Engine-Community和containerd
sudo apt install docker-ce docker-ce-cli containerd.io
  1. 驗證安裝是否成功
docker --version

如果出現(xiàn)如下的版本號,即為安裝成功

Docker version 19.03.5, build 633a0ea838

Docker卸載

  1. 卸載Docker Engine-社區(qū)軟件包:
sudo apt purge docker-ce
  1. 主機上的映像,容器,卷或自定義配置文件不會自動刪除。要刪除所有圖像,容器和卷:
sudo rm -rf /var/lib/docker

Docker配置及基本使用

在完成docker的安裝后,我們就可以開始使用docker來部署服務(wù)了,在此之前,我們先來學(xué)習一下docker的基本使用方法。

在docker中你首先需要有鏡像文件(images),你才可以通過鏡像來部署相關(guān)服務(wù),鏡像的話你可以到DockerHub獲取,也可以自己寫dockerfile來構(gòu)建鏡像(本專欄不涉及)。

Docker配置

  1. 修改鏡像源
    docker服務(wù)器在國外,在國內(nèi)訪問速度很慢,我們可以通過修改鏡像源為阿里云來啟用加速

首先到阿里云鏡像服務(wù)中心,你需要登錄阿里云。

鏡像服務(wù)中心

然后進入管理控制臺,然后選擇鏡像中心 -> 鏡像加速器

鏡像加速器

如果你沒有的話會提示你進行申請,完成后會看到上圖的信息,會提示你進行配置,配置的話你只需要將配置鏡像加速器下方的代碼復(fù)制到終端執(zhí)行即可(如果你分不清命令的話一次性全部復(fù)制完,粘貼后按下回車鍵)。
這樣當以后下載鏡像的時候就會快很多。

Docker基本使用

  1. 獲取鏡像文件
    首先到docker官網(wǎng):點擊這里進行注冊注冊完成后登錄
    Docker官網(wǎng)

    然后點擊左上角的搜索框輸入需要搜索的東西可進行搜索,這里以搜索Ubuntu為例
    鏡像搜索

    完成搜索后我們可以看到列出了很多的項目,我們根據(jù)自己的需要點開一個鏡像
    鏡像頁面

    在這里我們我們可以看到相關(guān)的鏡像描述以及基本的信息,右邊有一欄黑色的代碼框,通過輸入代碼框的命令我們即可獲取相關(guān)的鏡像。
    在這里我們輸入一下命令來獲取鏡像
docker pull ubuntu
獲取鏡像

下載完成后我們可以通過以下命令查看本地的鏡像

docker images
查看本地鏡像

REPOSITORY:鏡像名
TAG:標簽:latest為最新版本
IMAGE ID:鏡像ID,鏡像唯一標識符
CREATED:構(gòu)建時間
SIZE:鏡像大小

  1. 構(gòu)建容器
    在有了本地鏡像之后,我們就可以來構(gòu)建容器了,我們先通過一個簡單的例子來講解
docker run -d \
-p 9999:8096 \
--name=ubuntu \
-v /mnt/sda:/mnt \
--restart=always \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
ubuntu

出現(xiàn)下圖所示內(nèi)容即創(chuàng)建成功

創(chuàng)建成功

上面命令你也可以將\符去掉寫成一行,這里來講解一下各個參數(shù)的作用

-d:表示運行容器后臺運行
-p:端口映射,格式為主機端口:容器內(nèi)端口,即通過主機的該端口既可以訪問到容器內(nèi)的端口內(nèi)容
--name:命名容器,默認生成的容器名字是隨機的,可以通過該命令指定
-v:綁定文件卷,格式為主機目錄:容器內(nèi)目錄,在主機上的某一目錄映射到容器內(nèi),即通過容器內(nèi)指定的目錄即可訪問到主機對應(yīng)的目錄中的文件。
--restart:開機重啟,always為開機重啟
--device:綁定硬件到容器內(nèi)部,在后面章節(jié)做詳細講解。

其他相關(guān)命令

創(chuàng)建成功后我們可以通過如下命令查看正在運行的容器:

docker ps

通過一下命令查看所用容器,包括未運行的容器:

docker ps -a

停止容器:

docker stop 容器名/容器id

這里容器id只需要輸入前幾位就可以,只要能和其他的區(qū)別開來就行

啟動容器:

docker start 容器名/容器id

刪除容器(刪除前需要先停止容器):

docker rm 容器名/容器id

刪除鏡像(刪除前需先刪除用該鏡像構(gòu)建的容器)

docker rmi 鏡像id

命令總結(jié)

  1. docker pull:拉取鏡像
  2. docker images:查看本地鏡像
  3. docker run:通過鏡像構(gòu)建容器
  4. docker ps:查看正在運行的容器
  5. docker ps -a:查看所有容器
  6. docker start:啟動容器
  7. docker stop:停止容器運行
  8. docker rm:查出容器
  9. docker rmi:刪除鏡像

寫在后面

容器相對來說使用還是比較簡單的,通過簡單的學(xué)習就可以使用。如果你對其還不是很熟悉,你應(yīng)該多去實際使用上面的命令,在這里你不用擔心出錯,大不了使用docker rm刪除了再來一次,而不用擔心物理機環(huán)境遭到破壞。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容