管理 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 的容器服务,不过後面会讲日志的管理~今天就到这。


<<:  Day 06 CSS <复合选择器>

>>:  GitHub DevOps 流程参考实现

[Day33] 一条龙总结

本系列文章从 Web API, 架设云端 VM,资料库操作到前端 app,一步一步做出一个虽然很阳春...

@Day25 | C# WixToolset + WPF 帅到不行的安装包 [既有的自订栏位介接]

搞定好 画面了以後,现在要把既有的自订栏位给加进去, 先用"选择路径"的自订栏位...

小菜鸡学程序!来安装 Golang 吧!

上一篇文章跳过了安装的部分,让大家自己尝试一下,不知道大家有没有完成这个任务了呢? 没有的话没关系,...

android studio 30天学习笔记-day 21 -获得日期

一般在使用资料库新增资料的时候,都会看到新建资料的日期跟时间,今天会再sqllite上加入日期。 我...

Docker:甚麽是容器?

VM暂时告一段落,其实unraid上面的插件还是以容器(docker)最为大宗 像我们後面要做的云端...