這是鐵人賽相關文章,影片會在活動開始後發布
本篇文章會介紹如何「如何在 Ubuntu 環境上加入 Portainer 工具,並且示範部署 Node.js 專案」,建議對於 Docker 操作有基本的經驗,以下是本文包含的流程:
- 在 Ubuntu 上安裝 Portainer 環境
- 從 Docker Hub 下載 Docker 映像檔並運行
- Portainer 環境的基本操作
在 Ubuntu 上安裝 Portainer 環境
在安裝 Portainer 前,請確保已經有先安裝 Docker 環境,如果還沒安裝可以先參考 本篇文章:在 Ubuntu 上加入 Docker 環境並部署 Node.js 專案,Portainer 是一個開源的容器管理工具,可以讓您輕鬆管理 Docker 或 Kubernetes,不過本系列文章只會聚焦在 Docker 上。
以下是在遠端 Ubuntu 伺服器上安裝 Portainer 的步驟:
- 下載 Portainer 映像:
使用以下指令下載 Portainer 的 Docker 映像:
sudo docker pull portainer/portainer-ce
- 建立 Portainer 容器:
使用以下指令建立 Portainer 容器,並將其綁定到主機的 9000 port:
sudo docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
- 瀏覽 Portainer:
至此,Portainer 已經在您的主機上運行(沒錯,真的已經裝好了)。現在,您可以打開瀏覽器並訪問 http://伺服器IP:9000
。應該能夠看到 Portainer 的登錄界面。第一次訪問時,需要設置管理員密碼,按照你的配置輸入帳密即可完成。
- 配置 Portainer:
藉此,Portainer 已經基礎配置完成,在嚮導流程中,可以在選擇 Get Started Docker 的選項,並且選擇 Local,這樣就可以看到本機運行中的 Docker 環境了。
Portainer 運行中的容器
從 Docker Hub 下載 Docker 映像檔並運行
使用 Portainer 部署 Docker 映像檔,就不需要指令就能完成複雜流程,可以透過 Portainer 的介面,直接從 Docker Hub 下載映像檔,並且運行,以下是操作步驟:
- 在 Container 中點選 Add container
- 在 Image 中輸入 Docker Hub 上的映像檔名稱
注意:路徑中請不要帶入空白鍵,例如:
casper723/nodejs-docker
,而不是casper723 / nodejs-docker
- 輸入 network、port、volume 等設定,最後按下 Deploy the container 就可以完成部署了
稍等片刻,就可以在 Container 中看到剛剛部署的映像檔,並且可以透過 Portainer 的介面,直接操作映像檔,例如:啟動、停止、刪除等等。
Portainer 環境的基本操作
過去,如果要透過 Docker 指令查看容器 logs 是相對麻煩的操作,但是透過 Portainer 就可以直接在介面上查看 logs。只要打開運行中的容器,點選 logs 就可以看到 logs 訊息了。
在 logs 訊息操作上,我會建議稍作以下的調整:
- 把行數調整為 1000 行(更大也行),這樣在瀏覽上可以看到更多的 logs 訊息
- 如果是已經找到相關要查看的片段,可以關閉 Auto-refresh,這樣就不會一直更新 logs 訊息了
然後再重啟策略上,先前必須在建置 container 時,就要設定重啟策略,但是透過 Portainer 就可以直接在介面上設定,回到 Container 的頁面,在下方就能看到 Restart policies 的設定。接下來直接下拉選擇後,按下 Update 就可以完成設定了。
除此之外,Portainer 在免費的版本下就有許多功能可用(沒錯,他是可以另外付費的),少部分功能則需要另外付款才能開通,但在一開始的使用上,免費的功能就已經足夠了。