1
sunamask 2023-07-19 08:45:22 +08:00
是两个应用都用到 Postgres ,但不是同一个数据库对吧?
如果是这种情况,应该给每个数据库各自建立独立的容器。相应的 docke network ,docker volume 也应该相互独立。 我理解同一个镜像有复数个容器实例是 docker 应用的常态,反正放在那里也用不了多少系统资源…… |
2
gps949 2023-07-19 08:56:50 +08:00
是独立还是共用主要取决于业务场景,两者是关联、独立还是互斥。
互斥:绝对要依赖独立; 独立:最好独立分开,把依赖当底层基础设施也不是不行; 关联:应当共用; 像你说的情况,试用相近软件之后可能会需要删掉一个,这种情况应该算介于独立和互斥之间,最好还是依赖各自独立 |
3
iv2usr 2023-07-19 09:00:37 +08:00 1
题外话, FreshRSS 更好用
|
4
littleBink 2023-07-19 09:17:20 +08:00 via iPhone
@iv2usr iOS 端有什么阅读软件能同步 FreshRSS 的标签吗
|
5
cedoo22 2023-07-19 09:20:59 +08:00
像你这个临时用, 无所谓。
容器化 很重要的一个优势,是 可伸缩性, 你说的复杂依赖没那么重要。 可伸缩就代表着容器要无状态, 数据库很明显基本都是有状态,当然你可以强行将它的容器状态持久化到硬盘上。生产环境 数据库一般不会在容器里。 |
7
Exp OP @gps949 #2 OK ,感谢。现在也是刚刚开始安装各种服务,举目前的两个例子。另外也是看到了 Postgres 本身也有独立的镜像可以建立容器,是想着,可以独立建立一个 Postgres 容器来提供未来的各容器的数据库需求。
再加上我当前尝试没有成功。。。可能目前来看确实各服务建立各自对应的容器会更好,也更贴合 Docker 技术的涉及初衷。 |
8
Exp OP @iv2usr #3 FreshRSS 我原来也搭建过,可能是没有深入去研究吧,肤浅的用了用,感觉它的界面层次有点弄不明白,还有就是刷新策略有点问题,好像是会重复把已读的再次刷新成新的?还有其它一些小问题吧。
所以现在我是打算再试试其它的。 感谢! |
9
Exp OP @cedoo22 #5 不好意思,有些名词无法理解了,” 可伸缩性“是什么意思?”容器要无状态“是什么意思?”强行将它的容器状态持久化到硬盘上“是做什么操作?”生产环境 数据库一般不会在容器里“又是什么意思?
是跟容器配置中做 volumes 卷挂载相关的概念吗? 确实真真的小白一个,尤其对数据库就更是一无所知了。 还请不吝赐教!😓 |
10
libook 2023-07-19 11:03:20 +08:00
没有万金油方案,一切都可以按照你的需求来调整。
服务软件提供 docker compose 的目的在于可以让普通用户不需要去关心部署和连接数据库等组件,一键运行一整套可以用的服务。 容器的一种使用思路是不同服务之间互相隔离,不光是服务本身隔离,数据库和中间件等也可以进行隔离,这样就不会在发生故障的时候互相影响,也不会在一个服务受到网络攻击后导致所有服务受到影响。一部分企业应用场景是可以接受每个服务跑自己的单独的数据库服务的开销成本的,来换取这种隔离带来的各种好处,可以更加灵活地调整每台服务器上部署的容器种类和数量(所以出现了 k8s 这种调度工具)。 但你的需求不一定是这样的,比如你无法接受同时运行多个数据库实例所产生的开销,或者不适合你的管理方式,那么你就完全没必要遵循这样的设计惯例。 当你有特殊需求的时候,比如你需要在另一台服务器上跑数据库,又或者是你需要统一管理所有服务的数据库(比如做主从备份会比较方便),你就可以写自己的 docker compose 配置文件,或者使用命令参数直接部署服务容器,然后通过服务配置文件,或者容器环境变量(取决于容器镜像是否提供这种能力)来配置要连接的数据库的地址、用户名、密码。 如果你要用 Postgres ,你就避免不了了解这个数据库的使用方式,包括如何管理用户(角色)和权限,多搜些教程看看吧。 |
11
chinalibra492 2023-07-19 11:43:26 +08:00
docker 容器本身是倾向于各个应用独立开的,不要公用数据库。因为公用数据库唯一的好处就是省掉那几百兆内存,但依赖的 pg 版本、特性不一致会带来各种麻烦。
|
12
pan20060802 2023-07-19 12:07:51 +08:00
我理解的 docker 就是减少依赖,有点损耗很正常。
|
13
Exp OP @libook #10 理解,感谢。另外最后一句话,确实如此,简单的搜了一些相关教程配置了一下,没有解决问题。现在看来就分开吧,每个服务有自己独立的数据库比较方便。
|
14
Exp OP @chinalibra492 #11 确实在理。
@pan20060802 #12 嗯,损耗肯定是接受的。且根据目前的硬件设备性能来说,如果不是在购买的服务器上,自己设备上的损耗可以忽略不考虑这个问题。 |
15
iv2usr 2023-07-19 14:59:23 +08:00
@grahamsa0503 我基本不用标签, iOS 用的 Reeder 5
|