iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Software Development

一個新鮮人如何完轉Spring boot與DevOps從0到101系列 第 6

管理 Spring boot 或其他應用程式容器 - Portainer

當容器服務越來越多時,發現使用 CLI 方式進行管理或是除錯會有點些許麻煩,如果跨多個 EC2 更加繁瑣。Portainer 是一個非常不錯可用來管理容器的 UI 應用程式,不論是 remove、start、stop 或是看 log 都非常簡便。

同樣的我們使用容器建立 Portainer,

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

之後,透過 UI 我們可以看見如下圖的內容,所有有關容器資訊藉由 Portainer 都可以輕鬆管理。

https://ithelp.ithome.com.tw/upload/images/20210906/20104688rdJFbdklUe.png

如果我們要將多台 EC2 的容器服務給集中管理,可藉由 Endpoints 方式進行管理,這邊透過 Docker 的 tcp 方式進行連線存取,好讓 Portainer 能知道另一方的 EC2 Docker 服務。我們可以將要被 Portainer 管理的其它 EC2 (未安裝 Portainer) 近行以下設置,主要是 tcp://0.0.0.0:2375 將其給映射出來。

# vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
$ sudo systemctl daemon-reload
$ su

設置好後可以藉由 docker -H tcp://IP:2375 images 進行測試。

但有試過以下設定方式,不知道為什麼 docker 服務會掛掉,最後是用上面方式~

$ sudo vim /etv/docker/daemon.json
 {"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]}

最後透過下面的圖進行設置,就可以完成集中管理容器

註冊部分,因為沒有使用集群在運行,選擇 Directly connect to the Docker API

記住當開啟 docker TCP 服務時記得要進行存取權限的設置...,否則有機會得不償失。透過 Portainer 可以輕鬆方便的管理 Spring boot 的容器服務,不過後面會講日誌的管理~今天就到這。


上一篇
幫服務建置佈署流程至 EC2
下一篇
第一個 Spring boot 應用程式開發
系列文
一個新鮮人如何完轉Spring boot與DevOps從0到10130

尚未有邦友留言

立即登入留言