您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Portainer可視化面板如何安裝”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Portainer可視化面板如何安裝”這篇文章吧。
portainer(不是最佳選擇,先用這個)
docker run -d -p 8088:9000 \
> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
Rancher(CI/CD 持續集成/持續部署 時使用)
什么是 portainer ?
Docker圖形化界面管理工具!提供一個后臺面板供我們操作!
docker run -d -p 8088:9000 \
> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
訪問測試:外網:8088 http://ip:8088/
設置密碼,選擇本地的
注意:該頁面上有提示需要掛載本地 /var/run/docker.socker 與容器內的 /var/run/docker.socker連接。因此,在啟動時必須制定該掛載文件。
進入之后的面板:
可視化面板平時不會使用,自己測試玩玩即可。
鏡像是一種輕量級、可執行的獨立軟件包,用來打包軟件運行環境和基于運行環境開發的軟件,它包含運行某個軟件所需的所有內容,包括代碼、運行時的庫、環境變量和配置文件。
所有應用,直接打包docker鏡像,就可以直接跑起來!
如何得到鏡像:
從遠程倉庫下載
朋友拷貝
自己制作一個鏡像 DockerFile
UnionFS(聯合文件系統)
我們下載的時候看到的一層層的就是這個!
UnionFS(聯合文件系統): Union文件系統(UnionFS)是一種分層、輕量級并且高性能的文件系統,它支持對文件系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統下(unite several directories into a single virtual filesystem)。Union文件系統是Docker鏡像的基礎。鏡像可以通過分層來進行繼承, 基于基礎鏡像(沒有父鏡像), 可以制作各種具體的應用鏡像。
特性: 一次同時加載多個文件系統,但從外面看起來,只能看到一個文件系統,聯合加載會把各層文件系統疊加起來,這樣最終的文件系統會包含所有底層的文件和目錄。
Docker鏡像加載原理
docker的鏡像實際上由一層一層的文件系統組成,這種層級的文件系統UnionFS。
bootfs(boot file system)主要包含bootloader和kernel,bootloader主要是引導加載kernel,Linux剛啟動時會加載bootfs文件系統,在Docker鏡像的最底層是bootfs。這一層與我們典型的Linux/Unix系統是一樣的, 包含boot加載器和內核。當boot加載完成之后整個內核就都在內存中了,此時內存的使用權已由bootfs轉交給內核,此時系統也會卸載bootfs。
rootfs(root file system), 在bootfs之上。包含的就是典型Linux系統中的/dev, /proc, /bin, /etc等標準目錄和文件。rootfs就是各種不同的操作系統發行版,比如Ubuntu,Centos等等。
平時我們安裝進虛擬機的CentOS都是好幾個G,為什么Docker這里才200M?
思考:為什么Docker鏡像要采用這種分層的結構呢?
最大的好處,我覺得莫過于是資源共享了!比如有多個鏡像都從相同的Base鏡像構建而來,那么宿主機只需在磁盤上保留一根 base鏡像,同時內存中也只需要加載一份base鏡像,這樣就可以為所有的容器服務了,而且鏡像的每一層都可以被共享。
查看鏡像分層的方式可以通過 docker image inspect 命令 !
[root@dockertest ~]# docker image inspect redis:latest
[
// ......
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:cb42413394c4059335228c137fe884ff3ab8946a014014309676c25e3ac86864",
"sha256:8e14cb7841faede6e42ab797f915c329c22f3b39026f8338c4c75de26e5d4e82",
"sha256:1450b8f0019c829e638ab5c1f3c2674d117517669e41dd2d0409a668e0807e96",
"sha256:f927192cc30cb53065dc266f78ff12dc06651d6eb84088e82be2d98ac47d42a0",
"sha256:a24a292d018421783c491bc72f6601908cb844b17427bac92f0a22f5fd809665",
"sha256:3480f9cdd491225670e9899786128ffe47054b0a5d54c48f6b10623d2f340632"
]
},
"Metadata": {
"LastTagTime": "0001-01-01T00:00:00Z"
}
}
]
理解:
所有的Docker鏡像都其實與基礎鏡像層,當進行修改或增加新的內容時,就會在當前鏡像層上,創建新的鏡像層。
舉一個簡單的例子,假如基于 Ubuntu Linux 16.04 創建一個新的鏡像,這就是新鏡像的第一層;如果在該鏡像中添加 Python包,就會在基礎鏡像層之上創建第二個鏡像層;如果繼續添加安全補丁,就會創建第三個鏡像層。
該鏡像當前已經包含3個鏡像層,如下圖所示(這只是一個用于演示的含簡單的例子)。
上圖中的鏡像層跟之前圖中的略有區別,主要目的是便于展示文件。
下圖中展示了一個稍微復雜的鏡像,在外部看來整個鏡像只有6個文件,這是因為最上層中的文件7 是 文件6 的一個更新版本。
這種情況下,上層鏡像層中的文件覆蓋了底層鏡像層中的文件。這樣就使得文件的更新版作為一個新鏡像層添加到鏡像當中。
Docker 通過存儲引擎(新版本采用快照機制)的方式來實現鏡像層堆棧,并保證多鏡像層對外展示為統一的文件系統。
Linux上可用的存儲引擎有AUFS、Overlay2、Device Mapper、Btrfs 以及 ZFS。顧名思義,每種存儲引擎都基于 Linux 中對應的文件系統或者塊設備技術,并且每種存儲引擎都有其獨有的性能特點。
Docker 在 Windows 上僅支持 windowfilter 一種存儲引擎,該引擎基于 NTFS 文件系統之上實現了分層和CoW[1]。
下面展示了與系統顯示相同的三層鏡像,所有鏡像層堆疊并合并,對外提供統一的視圖。
特點
Docker鏡像都是只讀的,當容器啟動時,一個新的可寫層被加載到鏡像的頂部!
這一層就是我們通常說的容器層,容器之下都叫鏡像層!
如何提交一個自己的鏡像
docker commit 提交容器成為一個新的副本
# 命令和git原理類似
docker commit -m="提交的描述信息" -a="作者" 容器id 目標鏡像名:[TAG]
實戰測試
# 1、啟動一個默認的tomcat
# 2、發現這個默認的tomcat 沒有webapps應用的,原因是,官方的鏡像默認 webapps下面時沒有文件的!
# 3、我自己拷貝進去了基本的文件
# 4、將我們操作過的容器,通過commit 提交為一個新的鏡像!我們以后就使用修改過的鏡像,這就是我們自己的一個修改過的鏡像。
如果你想要保存當前容器的狀態,就可以通過commit來提交,獲得一個鏡像,就好比虛擬機的快照功能!
以上是“Portainer可視化面板如何安裝”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。