安利一款云容器管理工具portainer……
前言
現(xiàn)如今,已經(jīng)是萬物上云的時代,除了我們經(jīng)常聽說的阿里云、騰訊云、華為云這些云供應(yīng)商提供的云容器外,好多稍微有點規(guī)模的公司都搭建了自己的云環(huán)境,甚至連好多愛折騰的小伙伴在自己家里也搞上云環(huán)境,當(dāng)然這些都說明和傳統(tǒng)的部署環(huán)境相比,云環(huán)境更方便更友好,而用起來方便,更簡單:一行命令安裝mysql、redis、zookeeper等,可以說基本上沒有云環(huán)境搞定不了的事。
但是隨著云環(huán)境規(guī)模的不斷擴大,容器越來越多,應(yīng)用越來越多,這時候管理起來很不方便,而且好多小伙伴也不喜歡命令行的方式,有沒有一款對用戶友好,而且功能強大的管理工具?而且還要靈活方便,兼容性好、支持云環(huán)境?
今天,我們安利的這一款工具——portainer,剛好滿足你上面說的這些需求,接下來我們就來揭開它什么的面紗吧!
portainer簡介安裝
portainer是什么
Portainer是一個通用的可視化容器管理工具。它可以與Kubernetes、Docker、Docker Swarm和Azure ACI完美融合。通過Portainer你可以可以輕松構(gòu)建、管理和維護(hù)各類云環(huán)境。而且它完全免費,又是基于容器化的安裝方式,方便高效部署。
portainer安裝
這里我們安裝的是社區(qū)版(CE),社區(qū)版功能就夠用了,企業(yè)版會提供一些增值服務(wù),當(dāng)然也是收費的,官網(wǎng)有社區(qū)版和商業(yè)版的對比,有興趣的小伙伴自己去了解:
https://www.portainer.io/products?hsCtaTracking=2a4560b0-6aef-49da-834f-ccbeb2083b59%7C4f0a8a27-01b4-4a5d-89a7-95434396f367
本來打算給大家看下官網(wǎng)的文檔,結(jié)果官方文檔訪問不到:

點擊install CE直接無法訪問,不知道是被墻了,還是我網(wǎng)絡(luò)的問題(難道移動寬帶不讓訪問)

手動安裝
既然官方文檔看不了,那我們就手動安裝吧。這里我們只演示docker環(huán)境的安裝,其他環(huán)境我這里也沒得。開始之前,你先要啟動docker環(huán)境,這里吐槽下,win10環(huán)境的docker特別吃內(nèi)存,還是linux更好,更原生一點。
搜索資源
一般在拉取資源前,我先會搜一下這個資源,然后選擇start比較多的
docker?search?portainer-ce

拉取鏡像資源
第一個資源雖然星多,但是描述里面說倉庫已經(jīng)棄用了,過期了,所以就不考慮它了,另外我們前面也說了要拉portainer-ce,所以這里選擇第二個資源
docker?pull?portainer/portainer-ce
由于我之前已經(jīng)拉取資源了,所以顯示會和你不一樣。需要注意的是,如果你拉取資源特別慢,建議你修改下鏡像地址,具體方法參考前面安裝docker的內(nèi)容:這樣搭建本地開發(fā)測試環(huán)境,寫代碼美滋滋……

創(chuàng)建卷文件
volumes是Docker管理宿主機文件系統(tǒng)的一部分,默認(rèn)位于 /var/lib/docker/volumes 目錄中。當(dāng)然你也可以不創(chuàng)建卷文件,不創(chuàng)建的話,每次運行數(shù)據(jù)都會被清空
docker?volume?create?portainer_data
啟動
docker?run?-d?-p?8000:8000?-p?9000:9000?--name=portainer?--restart=always?-v?/var/run/docker.sock:/var/run/docker.sock?-v?portainer_data:/data?portainer/portainer-ce

啟動成功會返回當(dāng)前容器的id
測試
啟動成功后,訪問如下地址:
http://localhost:9000/
這里的端就是你上面-p配置的端口,前一個端口是你本地端口,后一個是docker容器中的端口。如果可以正常訪問,說明啟動是ok的。
portainer配置
修改密碼
第一次訪問,會提示你修改admin的密碼:

密碼長度必須大于等于8,然后點擊create user
在實際測試的時候,我發(fā)現(xiàn)創(chuàng)建用戶的時候會報錯,我以為是,沒有創(chuàng)建卷文件:

直到看到docker控制臺的錯誤提示才明白,并不是:

根據(jù)控制臺提示信息,如果啟動后5分鐘內(nèi)不創(chuàng)建管理賬戶,出于安全考慮,會自動關(guān)閉portainer
配置要管理的容器
再次啟動portainer,重新創(chuàng)建管理賬戶就好了,然后會讓你選擇你的云容器環(huán)境:

默認(rèn)選中的是k8s,我們這里是docker,所以選擇第一個:

但是我在進(jìn)行下一步的時候,沒有創(chuàng)建volume的報應(yīng)來了(這一次應(yīng)該是這個問題了
):

我剛才沒創(chuàng)建volume,好像還少了其他參數(shù):
docker?run?-d?-p?8001:8000?-p?9001:9000?--name=portainer-test??portainer/portainer-ce
先把-v /var/run/docker.sock:/var/run/docker.sock加上重新啟動下看看(要刪除容器,重新啟動
):
docker?run?-d?-p?8001:8000?-p?9001:9000?-v?/var/run/docker.sock:/var/run/docker.sock?--name=portainer-test??portainer/portainer-ce
然后重新配置,點擊connect,竟然成功了,說明vulume文件應(yīng)該就只是持久化運行數(shù)據(jù)的,不影響啟動運行。
這時候就已經(jīng)進(jìn)入了portainer的首頁了,左側(cè)是菜單欄,右側(cè)是容器列表,目前它只顯示當(dāng)前運行的容器,你也可以添加其他的容器。

常用菜單
下面我們簡單看下常用的菜單選項
Dashboard
儀表盤,顯示容器的預(yù)覽信息,包括鏡像數(shù)量、容器數(shù)量、卷文件數(shù)量、網(wǎng)絡(luò)配置、棧文件等

Containers
容器管理,這個菜單是我們最常用的菜單之一,可以對我們已經(jīng)創(chuàng)建的容器進(jìn)行管理,包括啟動、停止、刪除、查看配置信息(端口、容器、創(chuàng)建時間)、查看日志等。

新增容器
這里需要說下新增容器,新增容器點開之后是這樣的:

以redis為例創(chuàng)建一個容器
基本參數(shù)配置
第一部分包括指定容器名稱,選擇鏡像,設(shè)置端口信息,訪問控制設(shè)置等

其他屬性設(shè)置
說實話,好到高級配置,我也沒搞清楚

發(fā)布容器
點擊Deploy the container發(fā)布,這個按鈕太小了,有點不好找,在Actions下面。不過,不得不說,這個管理工具創(chuàng)建啟動容器的時候確實太慢了,和命令行方式簡直沒法比,但是好在不用寫命令,界面操作,對不了解docker的小伙伴比較友好。
核心菜單
右側(cè)最上面的一排按鈕,就是對容器進(jìn)行管理的,啟動、停止、強制關(guān)閉、重啟、暫停、恢復(fù)(對于暫停的容器)、刪除等操作都需要選中對應(yīng)的容器進(jìn)行操作。
查看日志點擊qucik actions下面的第一個小圖標(biāo)就可以了,容器的資源使用情況點擊第三個,控制臺點擊第四個

日志
日志是實時滾動的,可以設(shè)置日志的滾動大小,默認(rèn)100行,也就是顯示最新的100行日志,支持將日志下載到本地(下載的大小就是你設(shè)置的大?。?,不想滾動,可以點擊auto-refresh logs進(jìn)行關(guān)閉。
日志支持檢索,如果你把你的項目(比如springboot)部署到容器中,你就可以直接在這里看日志了

資源信息
展示容器的內(nèi)存、cpu、網(wǎng)絡(luò)等信息,這里可以指定刷新時間,默認(rèn)是5s

控制臺
可以直接通過這里進(jìn)入容器內(nèi)


當(dāng)然對于沒有控制臺的容器,該選項點了也沒反應(yīng),會顯示閃退的情況,比如portainer自己的容器就是這樣
Images
這里是管理當(dāng)前云容器的鏡像,包括拉取鏡像、刪除、導(dǎo)入、導(dǎo)出以及構(gòu)建新鏡像

其他菜單暫時就不研究了,要么是太簡單了,大家看一下就知道咋用,要么就過于復(fù)雜,我也沒研究透,不過上面這幾個已經(jīng)夠日常使用了,大部分的場景都是圍繞這這幾個菜單展開的。
后面,等我搞清楚了docker部署springboot項目,我會再分享相關(guān)內(nèi)容,今天就先到這里吧。
總結(jié)
portainer作為一款云環(huán)境管理工具,從整體體驗來看,還是比較優(yōu)秀的,操作比較友好,功能也比較齊全,而且很容易上手,目前我覺得唯一的缺點就是構(gòu)建容器的時候有點慢。
當(dāng)然,就云容器而言,我接觸的時間還比較短,而且目前我只用過docker,所以知識盲區(qū)比較大,可能說的好多點也不是很專業(yè),但單從portainer流行情況來看,也能說明他很優(yōu)秀,一個是技術(shù)圈推薦的人很多,一個是很多優(yōu)秀的互聯(lián)網(wǎng)公司都在用,比如我們公司,這就夠說明問題。總之,就是一句話,你該學(xué)習(xí)了,要緊跟技術(shù)的方向,不斷武裝自己
