Docker速通教程——司波圖 UNRAID 陪玩教程 02

司波图
6粉絲
1 次觀看·2024年11月2日
這是一個披著Unraid教程外皮的Docker教程。
UNRAID硬核教程01,安裝,序列,共享:
https://www.bilibili.com/video/av74594701
千元級H265硬解+軟路由,Unraid NAS主機:
https://www.bilibili.com/video/av74113617
400元DiyNAS神機:
https://www.bilibili.com/video/av70829949
單網口PC安裝pve all in one服務器:
https://www.bilibili.com/video/av60334860
8盤位nas虛擬機升級一下萬兆網絡:
https://www.bilibili.com/video/av58253701
https://www.bilibili.com/video/av59732534
虛擬機下的8盤位NAS+軟路由系統搭建實戰教程:
https://www.bilibili.com/video/av57902068
聯繫郵箱:[email protected]
Hello 大家好
我是你們高層的小夥伴縮圖
那上一個視頻裡
Alfred是給大家介紹一下
這個Array的一個安裝方法
還有它一個文件系統的
一個大概的一個描述
那可能很多小夥伴會覺得
這個雲裡霧裡啊
又什麼是校驗盤啊
什麼空間盤啊
什麼這個緩存盤之類的東西
一大堆搞得我這個頭昏腦脹的
那實際上大家不用擔心啊
大家在這個不清楚的時候
只要記住一句話
重新看Alfred的第一個視頻
那實際上大家並不需要感覺到
有這麼大的一個負擔啊
在這種Array
已經建立好的情況下
大家只要記住你的這個
Array的一個榮譽性
就是你的校驗盤的一個數量
還有你有多大的一個緩存
還有你總共的空間有多少就可以了
具體文件擺放在哪裡
實際上你是
並不需要過多去操心的
而且你在這個使用的過程中
實際上你也會更加了解
你這個文件的一個擺放
會給你造成什麼樣的一個影響
那這一方面的一個問題
我們也會在後面的教程中
不停給大家提到
所以說你們是完全不用擔心
這個沒法理解的
那我們今天的一個主題
就是給大家介紹我們這個
Array的下的一個
Docker的一個具體使用
而且會用非常多的一個篇章
來給大家介紹這一方面的一個內容
那像我們現在很多小夥伴
實際上還在使用這個
黑群暉、白群暉
還有這個威廉通的一個
家用的一個NAS系統
他們沒辦法脫離這個
家用NAS系統的一個很大的原因
就是我們這種
群暉啊或者是威廉通之類的
這種NAS系統
它的一個這個圖形界面
做得實在是太好了
而且這個套件也是使用起來非常方便
那像一些像FreeNAS
OMV還有這個
我們這個Array的話
它都會依賴這個Docker
來實現我們這個套件功能
它會有一定的這個技術門檻
那今天的話我們就來給大家
消滅這個技術門檻
同時今天我們這一節視頻的話
也會適用於其他的一些
支持這個Docker的一個NAS系統
所以說我覺得這一個視頻的話
大家可以提前收藏起來
我覺得對你來說
肯定是有很大的一個意義的
OK那我們廢話不多說
馬上開始今天的一個視頻
OK那我們來開始今天的一個視頻
雖然說我們今天這個視頻的重點
是這個Docker
是講我們怎麼樣在這個
Array的裡面實現
我們類似這個群暉裡面
套件的一些功能
但是我們還是來重溫一下
我們上一個視頻裡面
講的這個Array的這個文件系統
那我們上一個視頻裡
也是給大家介紹了這個
Array序列的一個這個概念
它是由這個校驗盤
還有這個空間盤
還有這個緩存盤
來組成的一個這個
完整的一個空間
那它決定了我們這個
Array的系統
它的一個榮譽性
還有它的一個總共的空間
還有這個讀寫的一個速度
那最重要的點應該就是
我們這個Array的這個總空間
它是由這個空間盤的一個硬盤
它的容量總和來決定的
那像我們這裡有三個這個硬盤的話
它的一個總空間就是這個ET
那我們在這個Array的系統裡面
我們就可以使用這個ET的一個空間了
而它文件距離存儲在哪一個硬盤的話
則由我們這個
Share的一個設置來決定
那我們現在這個Array的系統的一個狀態
是屬於一個剛剛重啟的一個狀態
它現在的這個序列是沒有被打開的
所以說我們現在這個Share
還有Docker還有VM都是沒法使用的
那這三個功能是完全依賴於我們這個
那這三個功能實際上是完全依賴於
我們這個Array序列的
那我們現在就要打開這個序列
那我們也可以設置我們這個
Array的這個系統
在開機的時候自動打開我們這個序列
我們在這個Setting
然後在這個Disk Setting
然後這裡有一個Enable Autostart
這裡把這個挑個Yes
那它開機的時候
就會直接打開我們這個序列了
我們點擊Apply
OK那我們這裡設置一下
那我們現在還是需要手動打開一下
我們這個序列
那我們現在來打開
我們點擊這個Start
OK那我們現在這個序列就打開了
然後它的一個總容量是這個ET
那我們這裡就給大家演示兩個
我們上一個視頻裡面演示漏的一個問題
就是說這個文件的一個空間大小
那我們來看一下
我們這個Share這裡有一個
這個Test的一個目錄
是我們這個Disk 3帶來的
那我們可以看到這個Disk 3裡面
它有一個這個Test目錄
然後我們其他的一個硬盤裡面
它都沒有這個Test的目錄
那是不是代表我們這個Test目錄
它只能用這個Disk 3的一個這個空間呢
那我們從這個共享文件夾
我們來看一下它的一個具體空間
那我們來到我們這個共享的一個這個目錄
我們可以看到這個Test目錄
我們把它影射到我們這個
網絡驅動器裡面
我們影射到這個X盤
那OK那在我們這個我的電腦裡面
可以看到這個被影射的這個目錄
它的一個使用空間實際上是有這個ET的
那當然這裡有這個
劃算單位的一個問題是900多G
實際上就是ET的一個容量
那代表實際上在這個Share裡面的話
它只要是調用所有的一個硬盤的這個空間的話
它都會能使用到我們其他硬盤的一個空間
並不代表說這個目錄在我們這個Disk 3裡面
它就只能使用這個Disk 3的一個這個空間
那這個時候實際上我們選擇這個Test的一個
這個寫入方式這個Highwater
那我們來看一下
我們現在向這個Test目錄寫入一個文件
它會寫入到哪一個文件
那這個Highwater的一個寫入方式
實際上就是有一個高水限是這個250G
一半的這個最大硬盤的一個空間
那現在我們這個1號盤和這個3號盤
都高於這個剩餘空間的話
它實際上應該是會向這個Disk 1寫入這個文件的
那我們來試一下是不是這樣
那我們來向這個Test目錄寫入一個文件
OK那我們現在這個文件寫完了
我們看一下它是不是按照我們這個
Highwater的一個寫入方式
寫入到這個Disk 1的一個這個目錄裡面
可以看到我們現在這個文件是在這個Disk 1裡面
那我們看看這個Disk 3裡面有沒有這個文件
OK那這裡是並沒有的
但是它在我們這個共享的一個目錄裡面
它會包括有這個Disk 1和這個Disk 3裡面的
兩個硬盤裡面的文件
這就是我們這個安睿的一個整合的一個功能了
那這裡的話我們也會不斷的以這樣的一些案例
來給大家介紹我們這個安睿的這個文件調配的一些這個方式
大家可以用心來感受一下
它的一個這種文件調配的一個模式吧
那這是第一個我們今天補充的一個內容
那第二個補充內容就是我們要看一下
在這個硬盤壞掉或者是被拔出的一個情況下
我們如何來恢復這個Array序列
那這也是很多人困惑的一個問題
那我們首先我們手動先把這個序列給停掉吧
OK那我們序列停掉之後
大家可以看到又是一個這個創建序列的一個這個頁面
那我們現在來試一下把這個其中一個硬盤調成這個no device
那可以看到我們將一個硬盤調成這個no device的時候
實際上我們是沒辦法開啟這個序列的
也就是說如果我把這個硬盤拔除或者這個硬盤壞掉的話
我們是沒法恢復原來這個序列的
那原來這個序列的一個組成的信息會存儲在我們這個U盤上面
如果是我們有這個校驗盤的話
就說我們這裡有一個校驗盤的話
這個時候我們實際上是可以通過添加另外一個硬盤到這個硬盤裡
來恢復我們這個硬盤的一個文件的
但是當我們在沒有這個校驗盤的一個情況下
我們這裡是不能用另外一個硬盤來替代
來恢復我們這個序列的
因為我們這一部分的內容已經沒辦法恢復了
這裡的話大家就要記住我的一個描述
我們再重複一遍
如果我們這裡有這個校驗盤的話
我們把壞了的硬盤或者是沒有硬盤的東西
我們找一個硬盤替換上去
我們是可以通過上面三個硬盤
來恢復我們這個硬盤裡面的內容的
我們是可以打開這個序列的
但我們這裡沒有這個校驗盤
代表我們這一部分的內容實際上已經是丟失了
除非我們用原來的硬盤來替換上
我們可以把這個序列給重新開啟
但我們沒有原來硬盤的時候
我們是任何時候都沒辦法重啟這個序列的
這個時候我們要怎麼樣辦呢
實際上沒有辦法重啟這個序列
不代表我們這兩個硬盤的內容會丟失
我們可以用其他的方法來重啟一個序列
但是並不是我們現在U盤裡面所有的序列的一個內容
比如說我們開啟的是另外一個序列
我們要做的首先第一步是刪除這個序列
我們怎麼樣刪除這個序列呢
我們要點擊這個Tools
然後我們點擊這個New Config
然後這裡的話我們把所有的硬盤的註冊給刪除掉
我們點擊Yes
這裡All
然後這裡Apply
這樣的話我們就可以恢復我們這個序列了
而且不用按照我們原來的這個硬盤的一個組合來恢復這個序列
可以看到我們現在只添加了我們剛剛前面的兩個硬盤
然後我們這裡點一下這個Start
可以看到以這樣的一個方式
我們恢復了一個我們剛剛兩個硬盤的一個運作
但是這個序列並不是我們原來那個序列
我們是一個新的序列
實際上當大家按下這個New Config的時候
我們就已經沒辦法恢復原來的這個序列了
大家一定要注意這一點
如果你是有這個校驗盤的話
你是應該換一個這個盤到我們原來這個丟失了這個盤的這個位置來進行一個數據恢復的
當然你也可以就New Config放棄這個盤的一個內容
但是你一旦點了這個New Config之後
你即使有這個校驗盤
你也沒辦法再恢復原來那個序列裡面原來那個盤位置的一個內容了
那這就是我們丟失了盤的一個操作
那當然現在我這個硬盤並沒有壞
實際上我還是可以把我剛剛拔出來那個硬盤交回這個新的一個序列裡面的
它的一個文件既然都是一樣的話
實際上可以恢復到原來的一個狀態
那我們現在點這個Stop
OK那我們現在停止了這個序列
我們又把之前那個Hitachi這個盤給加到這個序列裡面
然後我們再點擊一下這個Start
那我們這個新的這個序列也就打開了
我們可以看到原來這個序列裡面盤的這個內容是沒有變的
那代表我們現在這個Test目錄也回到了我們這個共享裡面
實際上是一個相對來說非常靈活的一個方法
這種就算你是有這個單盤的壞的話
你實際上實際上它是不影響其他沒有壞的盤的這個內容的一個存在的
而且我們也可以通過這樣的一個方法進行一個恢復
這也是給大家介紹這樣的一個恢復流程
這個損壞的流程
我現在也是由於這個校驗需要很長的時間
我就不給大家演示了
大家記得如果是你有這個校驗盤的情況下
如果你硬盤損壞的話
你可以通過替換這一個硬盤來實現你這個內容的一個恢復
但你沒有校驗盤的話
你就只能通過這個NewConfig的一個方法來
建立一個新的這個序列來恢復你原來這些盤的一個內容了
OK那這就是我們在這個掉盤的一個狀況下
應該採取的一個操作
OK那我們馬上開始
今天我們這個重要的一個部分就是這個Docker
那首先給大家提示一下
阿布主不是什麼科班出身
所以說我們今天所說的一切都是一些野路子的東西
大家如果想真正意義上去研究這個Docker的話
我建議大家去看比較嚴肅的這種教學類的一個視頻
或者是去看書
我們今天這個視頻的話
可能只能幫到你對這個Docker有大致的一個理解
並且能相對方便的來使用我們各種各樣的這種Docker的一個套件
那首先我們還是來給大家講一下
稍微概念一點的東西
那也是我們今天這個視頻裡面最概念的一個部分
那就是Docker是什麼東西
那這個大家可以看到這張圖
那實際上我們這個Docker跟這個虛擬機是一個非常接近的一個東西
那我們都是由這個物理的一個主機加上這個操作系統
那我們這裡有個操作系統就是這個Unray
那我們的一個虛擬機是通過一個叫做這個Hypervisor的一個東西
來模擬我們這個硬件
然後等於我們在我們模擬出來這一套硬件上面裝一個操作系統
然後再在這個操作系統裡面佈置環境
然後再來裝這個程序來達到我們這個應用的一個功能
那我們這個Docker的話就相對來說輕量很多了
它不需要模擬我們整一套這個硬件系統
它實際上是要用我們原來這個操作系統的一個內核
然後把它包裝成
然後用我們這個Docker Daemon或者是叫這個Docker Engine
Docker的一個引擎來塑造一個這種叫容器的一個東西
然後我們再通過一個叫Image的一個這個影像
來把我們這個容器佈置成它所需要的這個環境
並且運行我們這個影像裡面所包含的這個程序
那雖然說我們這個虛擬機和這個Docker
它都是模擬出一個環境來運行程序
但是我們這個Docker就會比這個虛擬機直接很多
而且這個效率要高很多
當然這個Docker有它的一個限制
像我們這個虛擬機實際上是可以安裝不同的一個操作系統
來模仿我們這個軟件的一個運行的
但是我們這個Docker的話它會有一定的這個限制
那瞭解它的一個基本運作原理之後
我們就要了解這個Docker的幾個大的一個概念
一個是這個容器
容器大家可以看到就是這樣的一個小箱子
我們每一個這個容器裡面
它會通過這個影像來構造它的一個這個運行環境
還有它的一個軟件
那例如我們可能可以在這個容器裡面
通過這個影像恢復一個CentOS
或者是一個Ubuntu
然後我們再把這個我們要用的軟件運行
在這樣一個各自種環境裡面
但是它每一個容器之間實際上是相互隔離的
相互隔離的意思就是說我們這個容器裡面的東西
實際上是不影響我們其他容器
或者是我們這個主系統的一個這個運行的
當然我們可以通過這個路徑影射
或者是一些網絡的一個連接
來讓它提供我們外部的一個服務
但是它是不影響我們整個系統的一個運作的
那這就是一個容器的概念
那我們這個影像的話實際上就是
塑造我們這個運行環境的一個東西
它包含了我們這個運行的程序
還有我們運行所依賴的一些這個
環境之類的這種阿津字啊
或者是庫啊之類的這種文件
那大家在瞭解了這個影像和這個容器的一個概念之後
實際上我們就可以開始
來使用我們這個Unraid裡面的這個Docker了
那可能大家現在還是一臉懵逼
到底什麼是容器
到底什麼是這個Image
我聽你說 說你馬了對吧
那實際上沒有太大關係
大家只要有一個基本的一個概念的話
來看我們這個後面的例子
就會對這個Docker的一個使用
有相對較深的一個印象了
然後你也是可以去
流暢的使用各種各樣的一個這個Docker的
其實我所做的這種視頻的一個教程的話
我覺得大家並不需要有非常嚴謹的一個這個知識儲備
讓你能看到我這個視頻
然後懂得一般的一個使用
我覺得就已經OK了
我們並不是每個人都是這個程序員對吧
我們還要我們的髮際線
OK
那我們就來到我們這個Unraid裡面
我們現在
OK
那我們回到這個Unraid
我們首先來大概給稍微懂一點的這個小夥伴
來介紹一下我們這個Unraid裡面
這個Docker的一個設置
那我們點到這個Settings
然後這裡有一個Docker的一個選項
然後它這裡會指明我們這個Docker的一個這個Image
大家有沒有聽錯
這裡有一個這個Docker.ing的一個文件
實際上我們這個Docker在這個Unraid裡面
它會被打包成一個這個img文件
也就是一個虛擬硬盤的一個文件
也就是說我們替換這個文件的話
我們所有這個Unraid裡面
這個Docker的一些設置都會被替換
簡單來說就是說
它把我們這個軟件打包成了一個這個img文件
我們每次這個開啟這個Unraid的時候
它會檢查我們序列裡面這個文件
然後來恢復我們這個Docker的一個配置
如果我們替換這個文件的話
實際上我們是可以把整一個這個Docker給替換掉的
我們舉一個例子
我們看現在是這個Docker是空的對不對
實際上是由於我們現在的一個這個Docker
實際上是存放在我們一個初始化的一個序列裡面的這個Docker
在我們這個System這個Docker這個目錄裡面會有
這是我們第一個磁盤的這個Docker
因為它是一個新創建的一個這個img
所以說它沒有任何的一個Docker的設置
我們又看到我們這個第三個磁盤
實際上我們的第三個磁盤這裡也是有這個Docker這個文件
Docker.img的
這裡就涉及到一個問題
就是說我們這個文件系統裡面
兩個硬盤它在同一個位置有同樣一個文件名的一個文件的話
它會用哪一個文件來做這個首要的一個文件呢
實際上它會以這個序列D的這個硬盤裡面的這個文件為主
就是說在我們這個Share裡面
它這個System目錄下
它的這個Docker.img
也就是我們這個路徑下的這個Docker.img這個文件
它會用我們這個Dex1上面這個文件
而不是這個Dex3這個文件
那我們實際上是可以做一個替換的
那我們現在就來給大家演示一下
我們替換這個img會發生什麼樣的一個情況
那我們怎麼樣替換這個序號的
那就是我們首先要停止這個序列
那取消完這個序列之後
我們把這個整個序列給毀掉
因為我們不能是直接替換的
大家知道我們來直接替換這個順序是不會被成功的
我給大家看一下
它會顯示這個Wrong
因為我們現在這個序列的一個順序是一定的
它這個順序是保存在我們這個U盤裡面的
所以說我們直接替換是不行的
我們只能把這個序列給刪除掉
然後再重建一個序列
那這個部分的一個視頻的話
我們在前面的一個部分也有說過
那我們重新了
那我們現在就來刪除這個序列
那在這個Tools裡面
然後在這個NewConfig
那我們把所有的一個東西把它NewConfig一下
然後我們再把這個
然後我們再把這個Hitachi這個硬盤放到第一個
然後後面這些順序給切換一下
那我們原來這個Disk 3的這個硬盤
變成了這個Disk 1的一個硬盤
那實際上我們這個文件系統
就會把我們這個Disk 3下面那個Docker.ing
變成它的一個首要的一個這個文件
所以說這個Docker在打開的時候
它就會先打開我們這個Hitachi
就這個日曆這個硬盤裡面的這個Docker.ing
那我們可以看一下會有什麼樣的一個效果
OK那我們打開了一個新的序列
我們點擊這個Shares
然後我們來看這個System這個目錄下面這個Docker.ing
它還是兩個硬盤都有
但是它現在已經是以這個日曆這個盤
這個Docker為優先了
那我們來看一下這個Docker
可以看到我們現在整一個這個Docker裡面
它把這些原來已經安裝好的這個程序
都直接恢復了
也就是說如果大家想備份
你的這個Docker的一個設置的話
實際上你只要備份這個Docker.ing就OK了
然後保證你這個Docker.ing
是這個序列號最少的
這個硬盤裡面的一個文件
不會跟其他一個硬盤的一個衝突
這是我們這個Docker的一個備份的方法
同時這個文件它也決定了
你這個Docker它的一個整體的一個空間會有多少
那我們來看看這個Docker裡面這個設置
我們點擊這個Advanced Viewer
這裡的話實際上我們可以把這個Docker給關掉
在我們把那個文件關掉之後
實際上我們是可以設置這個Docker.ing的一個大小的
我們這個容器裡面的東西
實際上是會保存在這個Docker.ing裡面的
因為我們剛剛知道我們這個Docker.ing
實際上是保存了我們所有的關於這個Docker裡面的設置
所以說我們這個Docker的ing是有一個極限的大小的
如果你這個數字設置太小的話
它這個容器的一個臨時文件過大的話
就會導致這個文件的一個爆炸
所以說大家如果是遇到這方面的問題的話
也可以在這裡調整
我也是給大家舉個例子
是什麼樣的情況下會發生這個問題
如果你是這個
如果你這個Transmission是開了臨時的一個目錄的話
你這個臨時下載的目錄
又沒有掛載到我們這個主文件系統的目錄下的話
它就會導致我們這個ing的一個文件無限的擴大
所以說這樣的一個情況
就會導致一個很麻煩的一個問題
這個時候你就需要修改這個
或者是把你那個目錄給掛載到
主系統的一個文件系統下
理論上我們這個大小實際上是不需要修改的
我們後面會給大家講為什麼
這一部分的話就是我給這個相對比較懂
Docker的這種玩家來介紹的一些
Unraid裡面這個Docker的一個設置
後面的話我就會相對來說偏向於新的了
實際上前面這些
如果是大家完全不懂這個Docker的話可以不聽
好吧
這邊的話我們首先還是把這個序列換回到
我們原來的硬盤
就是一個初始化的Docker
我們來換一下
換回來之後我們再在Setting裡面把Docker給打開
OK打開之後我們可以看到我們新建的Docker是全空的
然後我們來打開我們命令行
這裡我們Unraid有一個內置的命令行
我們按df然後寫個橫槓h
我們可以看到我們ing這個文件
實際上是被掛載到這個路徑下面的
我們如果是想修改Docker的一個設置的話
我們也可以通過這樣的一個路徑來修改
但對於新手的話
我覺得暫時不需要
我們就來介紹一下
怎麼樣從一個空白一個Docker裡面
安裝我們這個Transmission
用這個影像來給大家介紹一下
我們這個Docker的一個基本運作
現在的一個狀態
實際上就是我們Unraid裡面
已經在運行一個Docker的一個引擎了
Docker Engine或者是Docker Daemon
或者是什麼Docker CE之類的
或者是其他一些名字
總之就是這樣一個意思
我們這個Docker的一個功能也打開了
我們就可以在引擎上面
創建一個Container
就是這個容器
我們有容器的話
我們就需要用影像來建立它的一個
佈置我們容器的環境
還有軟件
因為我們在不同的一個操作系統上
裝這個軟件的話
實際上是需要不同的環境
不同的這種依賴的一些環境的
像我們以Windows為例
可能新手以Windows為例會比較簡單
你像如果玩一些遊戲的話
可能會要用到DirectX
DX DX11 DX12這樣的一個依賴
或者是你安裝一些這個服務器軟件的話
你可能前面會有一些其他的依賴
就這樣的一個情況
而如果你全部這個軟件
都裝在這個主系統的話
你這個主系統上面
就會有很多的一個依賴的軟件
他們之間可能會產生一些衝突
或者是這個環境不同
導致有一些依賴無法安裝的一個情況
Docker的話
它這個容器實際上就是給你一個
標準的一個系統的一個空間
我們只要通過這個影像的話
可以百分之百的
還原這個軟件所運行的一個空間
並且把這個軟件裝好
我們這個影像就是這樣的一個東西
我們這個影像從哪裡下載的
我們可以在 hub.docker.com這裡找到
實際上我們這些影像
都會從這樣的一個
網站上面下載下來
當然我們每一個 NAS 系統
實際上它都有註冊表之類的
直接從我們圖形界面裡面
下載影像的一個工具
像我們 Unraid也有一個
類似這種軟件商場的一個東西
我今天的話我還是以
實打實的一個方法
給大家來講一下這個Docker
我們就不用那些工具
我們後面肯定也會給大家講
如何方便的下載這個Docker
其實平時如果大家是用的話
沒有這麼複雜的
今天我是講的比較複雜一點
我們搜索一下這個 Transmission
我們可以看到有一個 Transmission 的
倉庫裡面可以找到
這個 Transmission 的一個影像
我們點擊這個點進去
這就是我們影像的一個介紹的頁面了
這個影像的一個頁面
實際上它會告訴我們這個影像
它所需要佈置的一些參數
還有一些其他的一些東西
大家可以想像成影像
就是我們編程裡面類的一個東西
而我們這個容器的話
就是一個實例
我們會根據我們的需求
來配置不同的一個
我們影像所恢復出來的實例
我們還是先不要講這麼複雜
我們來先恢復一個容器
來看一下怎麼樣
我們首先要把這個影像給拉回家
對不對
一般來說我們用這樣的一個命令
就可以把影像給拖回到我們
我們系統的裡面
本地的一個庫裡面了
實際上
但是我們在 unread
或者是其他的一些
Docker 的一個圖形介面裡面
我們可以直接通過
Add container
再增加容器的一個方式
來拖我們影像
我們點擊增加容器
這裡的話它會有一些母板
我剛剛也是建立了一個的Transmission
我就不用
我們還是重新來建立
我們來設置一個名字
這個容器會有名字
我們來設置一下
我們設置一個TR2為它的名字
這裡的話會有一個倉庫
來我們把它的一個名字給複製進去
前面是發布者
後面是我們軟件的一個名字
我們一般來說用Transmission的話
我們就用這樣的
用 Linux server發布的Transmission
來使用就可以了
我們把整一段都複製過去
我們默認的話
是從 hub.docker.com
這裡拖影像
大家可以手動設置它拖的一個位置
這個網絡類型
Network type的話
它有幾種
我們這裡的話
我們首先先用 Bridge
我們後面再給大家介紹
每一種的一個區別
實際上這個Transmission
大家都用過
我今天就用比較大
比較瞭解的軟件
來給大家做介紹
所以說我就不會再介紹
Transmission
它的一些特性了
然後後面的話
它這裡有一個選擇
come to shell command
就是我們後臺的一個類型
我們就用 shell
有一些系統的Docker
它是沒有命令行的一個部分
給你選的
它只能說輸入一個命令
然後反饋一部分的內容回來
而不能以 shell的一個形式存在
這裡我們不管
我們選擇 shell
等一下我可以給大家展示一下
這一個容器裡面
shell的一個使用
OK
我們這基本設置就設置好了
我們什麼參數都沒有設置
對不對
實際上我們這裡
它初始化的一個頁面
它會告訴我們一些
我們需要設置的一些參數
但是我們現在所有的參數都不設
我們來看一下
它的一個使用
會遇到什麼樣的一個問題
而我們為什麼需要去
設置這樣的一些參數
我們現在就來創建這個容器
我們點擊apply
可以看到我們第一步
就是pooling image
就是從我們倉庫裡面
拖影像下來
我們要等候一下
我們這個影像
它是有一層一層構成的
一層一層依賴構成的
所以說它會分不同的層
來開始拖動
具體的話
大家還是要去看書
這些比較原理性的東西
我覺得聽我說
肯定是不懂的
OK
我們拖完之後
它就會用命令來創建我們容器了
然後它會告訴我們
成功創建了
OK
我們現在容器創建好了
大家可以怎麼樣來想像
容器這個東西
實際上容器
大家可以想像成
就是一個很乾淨的
並且是統一的一個系統
就是說我們可以運行的
一個很乾淨的一個系統
我們這個影像
它前面的一個部分
就會幫我們來佈置
容器的一個運行環境
例如有些比較複雜的影像的話
它甚至可以用前面的這種依賴
把它佈置成一個
Ubuntu或者CentOS的一些環境
那是比較複雜的
但是一些基本的這種
像我們transmission的話
它就會佈置一個
很簡單的一個環境
然後它會保證
我們現在這個環境的一個統一性
並且來安裝上
我們用於這個環境的transmission
我們整個Docker的一個容量
都不會非常大
實際上應該是幾百兆的一個空間
包括這個環境
包括我們這個軟件
我們現在等於在
這個Unreal的系統裡面
佈置了另外的一套系統
它會有這個網絡
還有這個空間
現在來說
我們沒有設置
它的一個路徑的影射的時候
實際上它使用的是
我們這個Docker.ing這裡面的空間
就是說如果我們這個transmission
它裡面下載了某些文件的話
它會導致我們這個Docker.ing
它所實際佔用的這個空間增大
如果超過這20G的話
它就會報錯
怎麼樣
這一部分的話
大家也可以看後面的一個
就基本上可以知道了
我們首先來看一下
它的一個運行狀態
由於我們現在這個網絡的一個狀態
是這個bridge
bridge的一個網絡
實際上它是等於類似
我們獲取了一個內部的一個IP
就像我們創建了這個容器
通過這個路由器
接到它這個內網一樣
一般來說我們用這個bridge的話
會需要做端口的一個影射
我們這裡沒有做端口影射
實際上我們是沒辦法訪問
我們這個容器裡面的
9091的端口的
像平時這個transmission
它會有一個9091的端口對不對
但是我們現在這個bridge的一個狀態
實際上我連它的一個IP都不知道
所以說我們就要把這個容器下的9091
影射到我們這個主系統的9091
這個時候我們就要做9091的一個端口影射了
我們把它再修改一下
所以說如果我們什麼參數都沒有設置的話
我們是沒辦法使用
我們這個容器裡面這個軟件的
我們來設置一個端口的影射
我們把這個
這裡有這種不同的一個影射的一個東西
我們首先就來介紹一下
網絡下的一個端口影射
是用來幹什麼的
port
我們把這個設置
因為它是這個HTTP服務
然後我們再設這個9091
然後把它影射到我們這個
主系統的9091這裡
之前這個端口影射我不用再說了
就等於我們訪問主系統的9091
就等於訪問我們現在這個容器的9091的一個端口
因為我們這個容器也是單獨的系統
所以說它會有不同的對外的一個端口
我們現在把這兩個端口給對上了
然後是這個TCP的一個類型
我們實際上看我們Transmission的一個後臺頁面介紹
它也有介紹我們需要把這個9091
給影射到主界面的一個9091
所以說我們這裡就跟著它設置就好了
我們這裡先設置一個
可以看到我們在修改container容器的時候
實際上它是先停止我們原來container
然後再把我們原來這個容器給刪掉
然後再創建一個新的容器
這樣會產生一個什麼樣的一個情況
我們後面再來說
OK我們在設置好這個端口影射之後
大家可以看到我們把內部的172.17.0.2的9091
影射到了我們主系統9091這個端口
現在實際上我們就可以通過我們主系統9091
來訪問到我們Transmission的一個服務了
可以看到這裡我們已經可以訪問了
這個bridge的話實際上就是給你一個內部的IP
然後你來手動做端口影射
實際上它還有其他的一個方式
例如我們這個host
我們來給大家演示一下host
我們可以設置為host的一個模式
然後我們再點這個apply
它又把這個容器刪掉
然後再重新建立一個容器
大家記得只要是修改你的一個容器的一個設置
它就會把原來這個容器給刪掉
然後新建一個容器
這樣會產生什麼後果
大家如果懂的話現在已經知道了
OK可以看到host的一個模式
實際上它就等於類似於在我們主系統裡面安裝的軟件
它的一個IP跟我們主系統裡面的IP是一模一樣的
然後它的所有的一個端口
跟我們主系統的一個端口都是對應上的
這種在一般的一個端口比較少的這種使用方式上
是沒什麼太大的問題的
但是如果你不同的軟件
像我們有幾個軟件都佔用80端口的話
實際上我們如果是用這種方式的話
就會產生這種衝突
但是一般像我們Transmission
用這個host模式也是沒什麼太大的問題的
這樣的話我們就不需要做端口影射
我們直接來訪問就也是可以訪問到的
我們來試一下
OK這個host模式也是可以訪問到我們Docker
除了這兩種模式之外
還有一種是類似這種橋接模式的這種運行方式
我們來給大家演示一下
實際上它就是把我們容器的內部的網卡
給橋接到我們主系統的網卡上
你可以選擇是哪一個網卡
我們現在就橋接到我們主系統唯一的
連上路由器的網卡上面給大家演示一下
我們來進行一個修改
我們這裡有一個custom
然後有一個br0
這個就是我們這個0號的一個網卡
它可以讓我們手動設置一個固定的IP
我們這裡就不設置了
我們用路由器的DHCP
給它分配一個就OK了
我們這個端口影射實際上也是不需要了
因為用這種橋接模式的話
它所有端口實際上就是它新分配IP的所有端口
這樣是不需要用端口影射的
像剛剛那個host模式
實際上也是不需要端口影射的
大家記得這樣的一個問題
大家可以看到我們這個容器
它就被橋接上了我們主網絡上面去了
我們主網絡的網段是172.16.0對不對
它分配了一個172.16.0.2的一個IP
然後它有單獨的9091的一個端口
我們把它直接來複製一下
我們看能不能訪問
OK我們也是可以訪問的
這樣的一種方式實際上就非常方便
來進行一個管理這種方面
就是說它等於我們主網絡裡面
重新接入了一臺新的一個主機
而這臺主機實際上是類似一個虛擬機的
存在於我們安睿的系統裡面的
OK前面的部分就是我們關於
Docker裡面網絡的一個設置
我相信大家也會更加清晰
你平時Docker的一個創建應該選哪種模式了
實際上我們經常會看到你安裝某個Docker
你必須要選擇某種網絡的一個形式
實際上並不需要
你按照你的一個實際需求來選擇就OK了
OK講完網絡之後
我們就來講一下這個文件系統的一個掛載了
我們光可以訪問我們Transmission是不夠的
實際上我們Transmission
大家可以看到我們剛剛在進行容器的一個修改的時候
它有一個非常重要的部分
它會先刪除我們這個容器
然後再新建一個容器
然後再通過我們影像來恢復我們容器的一個運行
這個步驟大家應該是看到的
實際上在我們基本上所有的一個NAS系統上
你進行容器的一個修改
它都會先刪除你原來容器
這樣的一個操作會造成一個什麼問題呢
它會造成我們這個容器裡面
根本就沒辦法保存我們需要保存的文件
例如我們配置的文件
或者是我們一些像Transmission的話
它下載的文件
都實際上是沒辦法保存在Transmission裡面的
也就是說你在修改了我們Transmission裡面
一些關於下載的一些設置之後
實際上你在重建容器的時候
它都會變成消失
我們來給大家看一下
我們現在修改了這兩個選項對不對
我們來稍微修改一下我們這個容器
我們把它修改成一個名字
我們就不修改多了
可以看到它首先是停止我們這個容器
然後再刪除我們這個容器
然後再創建一個新的容器
這個時候我們再來打開這個Transmission
我們來看一下
我們刷新一下
然後我們點擊這個扳手
可以看到我們現在這個設置又恢復如初了
我們試一下重啟它會不會還保存在這裡
我們來重啟一下
OK那現在已經重啟好了
我們點一下這個扳手
那可以看到我們現在重啟的話
它實際上是不會刪除這個容器的
但無論如何我們實際上是經常會對
我們這個容器的一個設置進行一個修改的
所以說我們實際上我們是無法
將這個文件保存的一個希望
放在這個容器裡面的
這個時候我們就要把我們這個軟件
它所需要的這些設置
或者是它所修改的一些
關於下載的一些東西給保存
在我們這個主系統的文件系統裡面
這個時候我們就會用到一個這種
捲的一個影射了
捲影射或者叫做路徑的一個掛載了
我們怎麼樣來做這樣的一個操作
實際上在我們Transmission的一個介紹頁面
它已經告訴我們
我們需要把Transmission的一個Config路徑
給影射到我們主系統的路徑下面
我們來看回我們Transmission的一個介紹
可以看到我們這裡有一條是這個
-v pass data
然後冒號然後斜槓Config
這實際上就是說
它要把我們這個容器裡面
斜槓Config的這個路徑
給影射到我們這個主系統的一個路徑
這裡這個Docker Crack
實際上是我們用來創建
我們這個容器的一個命令
我們這個Docker實際上
它是可以完全通過我們這個命令行
進行一個創建的
就是說我們即使是在我們
這個後臺的圖形界面
來進行一個配置
它實際上最後都是變成
一段像這樣的一個畫
來創建我們這個Docker的
這裡的話
我們在Transmission的一個後臺頁面
它實際上是會給出一個模板給我們的
如果我們對某一個設置有疑問的話
實際上我們看這個頁面
是基本上可以完全弄懂
我們這個Docker的一個使用的方式
當然如果是我們通過
Unraid它自己的一個軟件市場來下載的話
它也會給我們這個基本的模板
然後告訴我們每一個路徑需要怎麼設置
它並不需要說我們手動來進行一個修改
這裡的話我們還是強調
我們只是說
我們用一個純手動的方式
來配置一個Transmission
好吧
我們這裡就看到
我們需要把一個路徑
給影射到這個Config上面
我們怎麼來進行一個這樣的一個使用
我們首先要調配一個路徑
給我們這個Transmission
用來存儲我們它的一個設置信息
我們就來進入我們這個Transmission的一個設置
這裡可以看到我們剛剛點擊增加我們的一個影射
可以影射路徑還有端口
還有參數
還有這個Label
還有這個Device是硬件
後面的部分我們後面再來說
我們現在影射一個路徑
我們這裡就選擇這個Path
這個是路徑
我們這裡可以給它命名個名
Unraid實際上它有一個很好玩的
就是說你可以手動的給你每個設置的參數
來給它寫一個名字
甚至還有描述
我們可以把整個的中文化都是沒有問題
然後我們來演示一下
其他的一些像圖形界面的每一個系統
它的一個設置都不一樣
它根本的部分是一樣的
像我們路徑的影射的話
它根本的部分就是一個我們容器的一個路徑
這個容器路徑實際上就是你容器內部的一個路徑
你要這個軟件訪問你容器內部的路徑
等於訪問你主系統的哪一個路徑
你就要選擇這個Host Path
就是這個主系統路徑
我們來這裡來設置一個路徑
我們點擊這個AppData
一般來說我們Unraid在安裝好之後
它會給你新建一個AppData的一個文件夾
我們把它放到AppData裡面就可以了
可以看到它是一個MNT
然後User
然後AppData的一個路徑
大家看到這個MNT User就可以知道
我們實際上它是寫入我們主系統的
Shares裡面的一個路徑
而不是我們像如果是直接寫入硬盤的話
你可以設置這個Dex1 Dex2對不對
但是一般來說我們會讓系統來管理
我們寫入哪個硬盤
所以說我們就用這個User了
然後我們寫入到這個AppData
然後我們創建一個目錄名
我們寫TR2
OK
我們Add
然後我們再來進行一個Apply
它又刪除了我們這個容器
然後又創建一個新容器
然後我們Done
我們來看一下這個共享裡面
我們這個文件夾是不是已經存在了
我們點擊這個Share
然後我們看這個AppData
可以看到它自動幫我們創建一個TR2的一個路徑
這個時候實際上我們在我們這個容器裡面
對這個目錄進行修改的話
它就會反映到我們這個主系統裡面
可以看到它在這個卷的一個影射裡面
已經有這樣的一個參數了
就是說如果我們在這個容器的Config裡面
寫入東西的話
它就會直接在這個裡面進行一個寫入
它兩邊的這個文件是有連動的
實際上我們Transmission的影像的話
它在沒有檢測到這個系統裡面
就是說我們TR2本來是一個空的文件夾對不對
它在沒有檢測到我們TR2裡面有文件的話
它就會把一個初始化的文件給寫入到我們TR2裡面
我們來看一下它現在是不是有文件了
已經我們還是點擊這個AppData
然後View
然後看這個TR2
可以看到我們Transmission
已經在這裡面生成不同的一個文件了
它包括這個Setting或者是其他的一些文件
我們也可以在我們設置的共享裡面
來對它進行一個修改
我們在共享裡面來看看可不可以找到
然後我們再來看共享裡面可不可以找到
可以看到有一個AppData
然後這個TR2
我們就可以很方便的來進行它的一個運行的修改了
但大家記得在修改這個文件之前
你要把這個Docker給停下來
不然它可能這個文件會有保護
這樣的話我們就可以試一下修改我們這個Docker的一個設置
然後再重啟這個容器
它會不會有修改的一個變化了
我們再打開一次我們Transmission
可以看到這又是一個新的設置
我們剛剛已經把這兩個選項打開了
我們現在把這兩個選項打開
重啟的方式我們就不設置了
重啟是肯定它會在這個容器裡面了
這個時候我們修改這個容器
但是我們只修改這個名字
它刪除了我們原來這個容器
然後創建了一個新的容器
這樣來說我們這個容器裡面的內容
是不是全部變成一個新的內容了
但是我們Config的影射的一個路徑沒有變
所以說它會去我們Config裡面找設置的一個文件
理論上來說我們重啟之後
它會恢復我們原來的一個設置
我們來看一下我們刷新一下
我們現在已經重啟好了
我們點擊這個扳手
可以看到我們這兩個選項
它已經被保存在了我們持久性的一個目錄裡面了
這就是我們第一個路徑影射所能達到的一個效果
就是說我們所有的一個配置文件
應該保存在我們這個容器以外
以防止我們在修改這個容器的時候
它的一個刪除造成我們這個配置的一個丟失
基本上每一個Docker
它都會涉及一個Config的一個路徑的一個設置
所以說這是一個非常重要的一個步驟
第二點就是我們Transmission
它自己的一個文件管理的一個部分了
就是說實際上我們Transmission是一個下載的軟件
如果我們不將它的一個下載的路徑
給影射到我們這個容器之外的話
它實際上是會往這個容器裡面下載這個文件的
而這個文件在我們這個Unraid裡面
它會存放在這個Docker.ing裡面
這個Docker.ing大家知道是有20G的一個限制
如果是你不斷往這個文件裡面下載東西的話
實際上是會報警的
當然這本來也不是一個應該做的操作
我們應該做的是讓這個Transmission
把我們的文件下載到我們這個主系統裡面
所以說這裡的話
我們又會涉及到另外一個文件的一個影射
首先我們當然還是來介紹一下
失敗的案例會發生什麼
就是說我們來新建一個種子
現在來說它的一個下載路徑
是在這個downloads
然後complete裡面
然後我們等下來看一下這個文件下載好之後
它會不會在裡面
我們怎麼樣看
我們用這個Docker的一個命令行
我們點擊這個Docker
然後這裡有個console
然後我們來斜槓downloads
然後complete
可以看到我們這個文件已經在這個容器裡面了
但大家知道這個路徑
實際上是我們這個容器內部的一個路徑
我們這個時候我們來修改我們Docker的一個設置
我們把它改一個名字
OK我們改好了
它實際上又是把我們這個容器刪除了
然後我們再等一下
等它運行起來
我們再進入它的一個後臺
可以看到我們現在這個目錄下
它又沒有了這個文件
所以說我們要做這個路徑的一個影射
這個時候我們就可以手動設置一個download的一個路徑
或者是我們下載到這個appdata也是可以的
當然我們手動設置一個
我們來設置一個新的一個共享
然後我們叫這個download
其他的設置我們就默認就好了
然後我們再回到這個Docker
我們來把這個修改一下
然後我們設置一個路徑的影射
我們還是要用這個路徑
我們設置一個名字下載路徑
因為這個名字和描述這一部分
實際上都是隻是說圖形界面給我們看的一個設置
它並不會影響我們這個程序的一個運行
所以說我們用中文是沒有所謂的
這裡保存下載文檔
我們這裡設置一個文件夾裡面的路徑
它這裡的話它建議我們是把斜槓downloads
給設為默認的一個路徑
我們就按照它的一個建議來進行一個設置
然後我們設置
然後我們選擇download
然後我們add
然後我們再來apply
我們新的transmission又給建立起來了
實際上我們這個容器
它永遠都是一個非常新的一個狀態
它永遠是先佈局我們這個環境
然後再運行我們程序
而這個環境和這個程序
基本上每次都沒有什麼殘留
所以說它的一個穩定性是非常有保證的
我們download
我們現在來下載一個新的文件
我們來還是下載到我們downloads
然後斜槓complete裡面
可以看到現在它這裡一個剩餘容量
已經跟我們那個主的一個系統的剩餘容量是一樣的
剛剛我們顯示的是這個20G
就是我們這個RNG的一個容量
它是
現在我們影射到外部的一個目錄的話
它這個容量也會變成一個變化
我們來進行一個upload
OK那下載好之後
我們來看一下它的一個文件會在哪裡
我們來進入它的一個控制檯
然後我們去到downloads
可以看到我們現在文件已經在這裡了
我們現在來試一下修改這個配置
它會不會產生這個文件丟失的一個情況
那我們現在已經重啟成功了
大家可以看到我們剛剛也是刪除了這個容器
然後又開啟了這個容器
但是我們這個路徑影射是沒有變化的
它還是影射到我們這個MNT
然後user
然後download這個路徑下面
然後我們來進入這個console
我們直接來看這個downloads
可以看到這個文件還存在
那我們看看共享裡面會不會有這個文件
那這裡也可以看到這裡是有的
那我們直接去到downloads這個路徑裡面
可以看到它就已經在這個位置了
實際上這就是我們這個文件映射
非常重要的一個設置了
我們現在瞭解這個網絡設置和文件設置之後
實際上我們對這個docker已經很多的一個部分
我們已經可以直接使用了
但是我們還會涉及到挺多的一個東西
就是關於參數的一個設置
還有這個硬件的一個影射
我們還是以transmission為例
我們看一下我們剛剛還漏了哪些參數
沒有進行一個設置
這裡的話實際上我們可以看到
除了我們這個路徑的影射
是這個-v的一個設置
-v就是這個路徑影射
-p的話是端口影射
我們這裡用host的話
實際上我們就不需要用端口影射了
它直接是把我們的一個端口影射到我們對應端口
這裡還會涉及到一個-1的一個影射
-1的一個影射
實際上就是我們容器在建立的時候
創建一些初始化的一些變量
來讓我們這個程序來使用
這裡的話它會讓我們設置
我們這個PUID
還有這個PGID
這個是我們transmission所使用的用戶的一個ID
我們可以設置一下
然後它還會讓我們設置這個時區TZ
還會讓我們設置transmission的一個
頁面的一個路徑
這些都是可選的
如果是optional是可選的一個設置
還會讓我們設置一個初始化的一個
用戶和密碼
我們都可以把這些設置進去
我們來設置一下
我們還是打開我們這個Docker的一個設置
然後我們來增加這個變量
這個variable就是這個變量
我們把它給設置一下
實際上一般來說
這一個部分我們是不需要進行一個手動的設置
一般來說
我們在這個軟件市場裡面下載的話
像我們這個Unreal的軟件市場
你下載的話
它會給我們一個默認的這些設置
它都不需要我們進行一個手動設置
但是我們這裡來給大家演示一下
這些的一個設置是怎麼樣
這個-1的這些設置
實際上就是變量的一個設置
就是這個參數的一個設置
我們來設置一下名字
用戶
然後PUID
然後它的一個值是1000
那我們直接來
然後我們再來設置這個
變量
用戶組
PGID
然後1000
這兩個參數實際上就是決定
我們下載好這個文件
它的一個默認的所有人
它是1000號的用戶
還有1000號的用戶組
擁有下載好這個文件
它創建的所有文件都會標識上它的一個所有人
然後我們再來設置時區
這裡-1是表明是變量
但等號前面實際上是叫做鍵的一個東西
我們修改的是什麼項目
告訴我們我們修改的是什麼東西
然後後面這一部分是它的一個值
TZ就是這個TimeZoom
就是這個時區
然後後面這個就是時區是哪一個
這樣的一個格式就是這樣的一個情況
像前面也是一樣
前面的話就是標明我們這個鍵
它是1000的一個值
我們再把這個
User我們也來增加一下
然後來體驗一下它的一個反應
我們直接用admin
我們這裡用admin
實際上大家如果是這裡
沒有看懂它的一個參數涵義
實際上下面還會有一個表
就告訴你每一個參數它代表了什麼東西
你設置了之後它會產生什麼樣的一個效果
你並不一定需要完全根據這個
母板來判斷它的一個涵義
它後面會有一個這樣的表
而每一個Docker基本上它都有相對的一個說明
所以說如果你英語是OK的話
應該是沒有問題
但英語不OK也沒關係
等一下我還會演示Docker商城的一個下載
你不瞭解這些也是沒有關係的
我們這裡點Apply來運行一下
我們看有什麼應該變化
這裡的話我們就已經給Transmission
加上了很多的變量了
最明顯的肯定是我們加入了用戶名和密碼
我們來看一下它的一個情況
可以看到我們現在登錄Transmission
它已經需要這個帳號和密碼了
我們輸入admin
我們已經是OK了
我們現在來下載一個文件
看它用戶和用戶組有沒有生效
這邊我也是設置了
然後時區我也設置了
當然現在設置倫敦
如果是具體的設置
大家可以設置北京時間都是沒有問題的
但是你要找到北京時間
它確實的一個代表北京時間的一個代碼
但我這裡就不去查了
我這裡給大家演示一下用戶
我們來下載一個文件
我們下載好之後
我們就可以看一下
我們下載了這個文件
它的一個權限具體是什麼樣子了
我們來找到我們這個文件夾
我們用我們後臺來看一下
OK我們用ls-l目錄就可以看到
我們每一個文件的下載的一個權限
前面我們下載的文件
實際上當時我們是沒有設置
user ID和group ID的
就是說我們沒有設置用戶的ID和主ID
它會默認被賦予911的ID
就是說它的用戶組和用戶都是911
而我們在設置了我們用戶ID和主ID的時候
它就會把這個文件賦予1000這個ID和1000這個主ID了
所以說這也是一個相當重要的一個設置
如果說你到時候要對這個文件進行一個管理的話
你這個權限又對不上
所以那個時候你就會很麻煩
我們現在的話我們整一個transmission的一個
包括權限包括它的一個登錄頁面
包括它的一些文件的一個掛載
文件路徑的一個掛載都已經設置完畢了
這就是我們完全通過手動來設置Docker的一個設置方法
當然最關鍵的是路徑的掛載和端口的一個影射
網絡方面的一個設置
參數這方面的話有一部分是可選項
有一部分會影響你的操作
我建議大家就是細心去看一下每一個選項的一個含義
基本上你瞭解到這樣的一個程度
我覺得對應應付一些已經預設好這個模板的Docker
我覺得你不會產生什麼樣的問題了
今天的主要內容就是這些
然後我們來演示一下如何用Unreal的軟件市場
來進行Docker的一個下載和安裝
我們首先刪掉我們這個Docker
反正它也是沒什麼用途
我們這個Unreal實際上是有一個插件
是一個Docker的一個市場的
類似這樣的一個方便的一個配置的一個選項
我們來安裝一下這樣的一個插件
這個路徑的話我會放在評論區
大家可以直接通過複製粘貼的方法來進行一個安裝
我這裡來直接複製了
然後我們點擊plugins
這個就是插件的安裝
我們點擊install
然後我們把這個地址給複製進去
然後點這個install
然後它就會安裝這樣的一個插件
插件的話它就不像Docker了
它是直接安裝在我們這個主系統的
如果這個插件有問題的話
你實際上是可以通過啟動項裡面
有一個安全啟動的方式
來禁用這個插件啟動我們這個系統的
然後我們點down
down之後我們這邊就已經有一個安裝好的
叫做communication applications這個插件了
我讀得好流暢
OK那我們來刷新一下
可以看到我們右邊出現了一個apps
然後我們這邊要允許
它是告訴我們這是一個第三方的插件
所以說我們可能會產生一定的安全問題
但是我覺得是沒有問題的
我們來安裝一下我們剛剛這個transmission
我們通過這個軟件
市場來進行安裝的話
實際上就沒有這麼難度
它會給我們基本要設置的一個模板
當然我剛剛所教的
大家就可以有更好的一個解決問題的一個能力
我們還是找Linux server
它發布的transmission
因為每一個影像實際上是有很多人進行一個
環境佈置還有軟件的一個植物
來製作這個影像的
但是我們一般來說
我們會用比較乾淨的這種影像來進行安裝
像我剛剛找的Linux server
發布的transmission的話
它就相對來說會比較乾淨一點
其他的話大家如果勇敢的話也可以去試一下
我們點擊下載就OK了
Click to install
然後大家可以看到我們下載的
實際上就是一個安裝的一個模板
它會告訴我們需要設置哪些的一個設置方面的東西
這裡的話它首先它默認是這個bridge的一個網絡形式
就等於它分配一個內部IP
然後來做這個端口影射
然後它默認會幫你做好這個9091和這個51413的一個端口影射
我們可以看一下它具體的一個設置
實際上它就是一個container本來的一個端口
然後來影射到你這個9091的一個端口
這些都是一個預設的選項
所以說我們就不需要去進行一個修改了
然後它會流空一些這個選項
像這種信號的一個選項
那上面兩個它默認幫我們設好
後面兩個它流空了
但是它是一個必選的一個必設的一個選項
那這裡的話實際上
有沒有看到這裡是斜槓這個downloads
就是讓我們來設置這個下載的一個路徑
我們點擊這個edit
然後我們選擇我們剛剛設置的這個共享目錄
這裡有一個download
然後我們save
然後這裡會讓我們設置一個這個watch的一個目錄
這個watch的目錄就是我們這個transmission
用來監控你放這個種子的一個路徑
那這個種子路徑實際上我們可以設置到這個
我們來設置一個新的路徑
我們來設置到download的這個watch目錄下面
讓它自己來進行一個創建
OK
那這個PUID和這個PGID的作用
大家剛剛也看到了
這個PUID就是我們這個文件的一個所有人
然後這個是所有組
那我們設這個1000就好了
那我們在這個unread裡面
1000就是我們新建的那個spot的那個用戶
那其他它沒有列明出來的話
實際上我們就不需要進行一個手動設置了
如果我們將來有需要的話
我們可以看這個它的一個說明的網頁
來進行一個額外的設置
我們現在點apply
大家有沒有看到剛剛我們實際上是沒有需要
設置這個config的一個路徑了
因為它默認的話就會把我們這個config
保存到一個默認的一個路徑裡面
實際上就是這個transmission的一個路徑了
它會幫我們自動去那個appdata裡面找一個路徑
來保存這個我們的這個config
那這一行實際上就是我們來創建這個
我們這個container容器的一個命令
它裡麪包含了所有我們關於這個容器的一個設置
這裡有一行是這裡的這樣的
它是把這個mntuserappdata transmission
然後影射到我們這個斜槓config裡面
那這裡大家可以看到
我們剛剛是沒有設置這個路徑的對不對
所以說它會預設預先把我們一些相關需要設置的這個路徑
給直接輸入到我們這個路徑裡面
所以說我們在這個軟件商場下的這個Docker
是一個非常方便的一個選項
我們點down
那這個時候我們也可以進行使用了
我們來看一下這個Docker
然後這裡可以看到它是把這個IP直接影射到我們這個
主系統的這個10.10的9091的這個路徑裡面
那我們來直接來訪問一下
那這樣的話我們這個Docker也已經安裝好了
OK那我們今天關於Docker的一個概念的一個講述就到此為止
我相信大家如果是細心去品味的話
也是應該有一定的這個幫助的
那下一個視頻的話我就會給大家介紹我們一些
經常會用到的這些Docker的一個套件
然後來實現我們類似這個群暉裡面的一些
我們經常要使用到這個套件的一些功能
OK那我那今天這個視頻我相信能看到這裡也是厲害
你們竟然沒有睡著
那喜歡這個視頻的你不妨點贊一波
然後我們下個視頻再見
謝謝大家觀看
我們拜拜
