大家是怎么管理服务的?

209 天前
 sonnyclarity492

随着私有部署的程序越来越多,很多程序都默认使用 8008 3000 这样的默认端口,不修改会冲突,修改了有时候会想不起来对应的端口号。

用 docker 的话端口号能和对应的容器对应起来,但复杂的带参数的启动命令可能会忘记,只得又去网上查找。

请问 V 友们是如何管理私有服务的呢?有现成工具还是“纸笔”记录?

2385 次点击
所在节点    程序员
24 条回复
dif
209 天前
看情况咯,有些用 pm2 ,有些用 supervisor 。 另外端口也都是由有点规则。不行就简单写个页面,做端口管理。几个增删改查就能搞定。
LeslieLeung
209 天前
以前用 notion 的表格做过一个,主要是记某服务部署在哪台机器上了。后来不用 notion 了就没了。

至于启动命令的问题,docker compose 能解决你的烦恼。不过有些默认用的 compose 会把目录挂载到 docker volume ,迁到其他机器不知道怎么办,一般我会改成挂载到某个目录。

端口号记录这个,我用 nginx proxy manager 来统一对外,所以可以在那上面查。
nevermoreluo
209 天前
@LeslieLeung

compose 里面的默认挂载目录可以通过 docker volume ls + docker volume inspect xxxx_xx 拿到绝对路径迁移,可以尝试下,不过自己指定最好,省的磁盘满了有同学直接用工具把暂时不用的都给清理了。。。
retanoj
209 天前
所以企业有 域名 + Ngx + 后端服务 ;)
henix
209 天前
端口号分配我思考过对应用名 hash 的方法: https://blog.henix.info/blog/port-hash/

命令行管理就 supervisor 咯
evill
209 天前
用了 docker ,上 docker compose 呗
后续就剩下 docker compose down/up/restart 了
lyer5
209 天前
所有进程启动的时候都定时上报心跳注册服务信息到一个地方,比如 etcd 、zk
Ubserate
209 天前
啊 所有服务都要暴露到外面去啊
shixuedela
209 天前
你知道查询当前服务器运行了那些服务端口不就行了吗?
root 用户 ss -tnlp 直接可以查询到端口对应的服务。 如果全部容器化的话 可以加一个代理。暴露一个端口就可以了
sonnyclarity492
209 天前
感谢楼上各位的解答,我了解到 docker compose 能有效管理 docker 应用(#6 );命令行启动的应用可以使用 supervisor ,nginx proxy manager 等工具来记录和管理(#1 ,#2 )。有关应用端口号的取值方法也值得学习(#5 )。

有意思的是上报心跳(#7 ),这个有待我学习。

还有 v 友提到域名,这个当然是有的,但是服务部署之后,一年半载就过去了,不记录就真记不起来了。
KongLiu
209 天前
docker + portainer
sonnyclarity492
209 天前
@shixuedela 查占用端口 ss -tnlp 确实是可以的,但是如果同时跑了多个 python 脚本,只能看到 PID ,定位不到哪个脚本占用了,还得一个个排查。
kgcHQbTYyvcz2w3j
209 天前
全部用 docker compose ,哪怕最简单的 docker run 都写成 docker compose

说起 docker compose ,推荐一个工具 Dockege
shixuedela
209 天前
@sonnyclarity492 如果跑多个 Python 脚本 打包成镜像.通过端口映射 docker ps 也比较好管理.
Mithril
209 天前
直接用 portainer 管理容器,配个通配符的 DNS ,然后用 traefik 去做反向代理。
记个简单的服务名就行了,记端口号太麻烦了。
sparkinglemon
209 天前
一水 compose ,方便管理,而且到指定位置直接 docker compose pull && docker compose up -d 也方便,如果只提供了 docker run 的镜像,可以用类似的工具转换 https://www.composerize.com/
Van426326
209 天前
一般会用 nginx 反代,再配 ssl 证书,所以查端口可以看 nginx 配置 。另外会用 docker compose ,没有的话会把启动命令放在 sh 文件里面执行
THESDZ
209 天前
docker + traefik
potatowish
208 天前
主机服务商有防火墙管理面板,开通端口的时候备注下就行
IamUNICODE
208 天前
docker-compose 或者 pm2 吧,看情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX