分享程式代碼相關筆記
目前文章總數:157 篇
最後更新:2024年 12月 07日
官網給此工具的首頁說明,大意是:Portainer 可以簡化與加快對容器(Container)的管理
Accelerate container adoption
Irrespective of your industry, orchestration platform, or computing device,
Portainer is the most versatile container management software that simplifies your secure adoption of containers with remarkable speed.
主要以4個常見的工具來分析
幾個參數比較關鍵:
工具名稱 | 優點 | 缺點 | 容器數建議 | |
---|---|---|---|---|
Kubernetes | : | 高擴展性、社群資源多 | 學習曲線高 | 1000 個容器以上,並且有資源管理的問題 |
Rancher | : | 高擴展性、可管理 K8S | 部署複雜 | 多個 K8S 需要管理 |
Nomad | : | 簡易上手、支援 Windows、Linux | 小型管理容器 | 中小型部署,100 個容器內、Windows |
Portainer | : | 資料為 | 小型管理容器、支援 Linux | 中小型部署,100 個容器內、Linux |
如果確認專案使用的容器數沒有破百,建議可用 Nomad 或者 Portainer ,目前這篇是用 Ubuntu 因此選擇 Portainer 相容性最佳
Portainer 免費版最關鍵是只能管理 3個節點 (意思是最多只能監控3個機器)
但通常每個部門自己的開發環境並不會像 IT 部門管理整個公司。
因此對開發部門來說,某個專案會是一個機器環境做隔離,並不會影響。(一個機器只會管理自己,因此 節點 = 1,永遠免費)
Portainer 的存在是基於 Docker ,只有 Docker 核心已安裝的情況下,這工具才有意義
因此一定要先安裝過 Docker
sudo apt install docker.io
安裝完成後,確保是否有服務
ps aux | grep dockerd
如果有正確安裝可以得到存放位置 => fd:// –containerd=/run/containerd/containerd.sock
Portainer 這邊採容器化安裝,因此設定獨立的 volume 保存資料
sudo docker volume create portainer_volume_dev
輸入以下指令安裝 Portainer,會建立 Port 為 9000 的 Portainer
sudo docker run -d --name portainer_dev --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_volume_dev:/data portainer/portainer
可以打開自己的瀏覽器,輸入自己機器的 IP 位址 + Port 號
http://192.168.100.1:9000
然後依序建立第一個 admin 的帳號密碼
進入後,選擇 Get Started , Portainer 工具會立刻將本機的 Docker 做繫結,可以得到該機器上 Docker 的 Container 與 Image
會自動產生一個 Local ,至此完成 Portainer 的基本設定
進入後左側有選單列表,DashBoard 可以觀察到該台機器上當前的 Container 與 Image 數量
左側選擇 Container 後,可以看到 Docker 目前管理的容器,其中包含 Portainer 自己
在 Portainer 中,可以用操作的方式刪除 Container ,這邊嘗試將 Hello world 刪除
在 Portainer 中,可以用操作的方式刪除 Container ,這邊嘗試將 Hello world 刪除
可以在透過指令確認剛剛刪除的 Hello World 的 Container
docker inspect crazy_tu
可以確認完全刪除,Portainer 省去我們輸入指令的時間,並且有視覺化的管理
在 Portainer 中的新增 Container ,可以選擇右上角的 Add container
依序輸入 Name 與 Image (來源於該機器上已存在的 Image ,若沒有可以選擇自動 Pull)
最後選擇 Deploy Container 就可以完成建立容器
最後可以確認已建立的 Container