数据库, Nginx, Redis 这种基础组件到底应不应该运行在容器中?

2024-01-23 02:43:51 +08:00
xiaowowo  xiaowowo

运行在容器中有什么好处

1 ,安装简单
2 ,资源隔离
3 ,迁移方便

运行在容器中有什么问题?

性能问题?互相访问不方便?

目前我最担心的就是性能问题,但是 docker 所有的功能实现似乎都是基于 Linux 内核提供的功能( Namespaces ,Cgroups ,OverlayFS )实现的,并没有使用任何的中间层代理或者虚拟化技术,按道理来说这个性能损耗似乎是微乎其微的?

还有其他值得考虑的问题吗?

3402 次点击
所在节点   Docker  Docker
19 条回复
rrfeng
rrfeng
2024-01-23 05:53:19 +08:00
数据库争议比较大,后两个无脑进。
phrack
phrack
2024-01-23 06:31:52 +08:00
性能几乎没有损失
setimouse
setimouse
2024-01-23 08:22:21 +08:00
跟性能没关系。容器不是虚拟机,只是资源上做分组隔离,不影响性能。
totoro625
totoro625
2024-01-23 08:23:18 +08:00
Nginx 打算放出来了,目前还是 docker 运行

其他的 docker 都是内部使用,无需对外访问
而 Nginx 在 docker 运行遇到了几个问题:
1 、docker stop nginx 修改 docker 参数后,80/443 端口被裸机安装的 Tailscale 抢端口,裸机安装 ginx 兼容性更好一点
2 、配置文件只有一个/一个文件夹,迁移比较简单
3 、不修改 docker 配置的情况下,可以很好的支持 ipv6 和 iptables
sunny2580839896
sunny2580839896
2024-01-23 08:35:41 +08:00
数据库还是放在外面,数据稳妥
Greendays
Greendays
2024-01-23 08:38:11 +08:00
都可以用容器的,基本不会影响到性能。
cbdyzj
cbdyzj
2024-01-23 08:48:11 +08:00
都可以用容器的,数据 volume 啥的都有现成的结局方案
Quarter
Quarter
2024-01-23 08:48:38 +08:00
目前来看 除了数据库放 docker 应该都没事,数据库的话有说会影响 IO 的,也有说容器崩溃后导致数据受损不易恢复的,但还是有不少项目直接是 docker 跑的,感觉问题不是特别大
demoshengxw
demoshengxw
2024-01-23 08:53:26 +08:00
貌似有状态应用容器化一直是个难题,我们生产环境上千个 pod 都是连阿里的 rds 。
popil1987
popil1987
2024-01-23 09:02:39 +08:00
可以,性能有一定损失,但运维简便
hefish
hefish
2024-01-23 09:04:36 +08:00
数据库要真是跑容器里引起问题了,那才放容器外。 问题包括 性能啊,可靠程度啊之类的。
chenqh
chenqh
2024-01-23 12:47:15 +08:00
nginx 没有必要放 docker 吧,apt 安装从来不坏,而且也没有追求新版本的特性,不像数据库
haython
haython
2024-01-23 15:03:25 +08:00
mysql 也放在 docker 了,4 年了,没啥问题,升级也方便,每天几千万个 sql 执行
echo1937
echo1937
2024-01-23 15:17:31 +08:00
网络有模式的问题,
@totoro625 你这个机器是 derp 服务器吗,按道理 tailscale 客户端是不需求 80 和 443 端口的
totoro625
totoro625
2024-01-23 15:32:57 +08:00
@echo1937 #14 不是 derp

可能是因为其他机器里面写死了直接访问了 100.xxx.xxx.xxx:443

# netstat -tunlp | grep 443
tcp 0 0 100.100.***.***:443 0.0.0.0:* LISTEN 692/tailscaled
tcp6 0 0 fd7a:***:***:***:443 :::* LISTEN 692/tailscaled
wu00
wu00
2024-01-23 15:39:16 +08:00
怎么方便怎么来;
测试环境肯定是全容器化;
生产环境肯定是能云则云,别想着从这方面给老板省钱,很贱的;
又上不起云又没专业运维,天王老子来了都是容器一把梭。
wunonglin
2024-01-23 16:08:30 +08:00
反过来想。

是使用哪些软件遇到了什么问题从而需要真机部署?
perfectlife
2024-01-23 16:25:09 +08:00
老实讲 我感觉这三个都没必要放容器里,nginx 有的镜像有时候会有点小问题,没有 yum/apt 安装的兼容性好,mysql/redis 这种部署后基本不动了,容器部署可以但是必要性不强
MXMIS
2024-01-23 20:45:52 +08:00
Nginx 进 Docker 没啥问题,mysql 和 redis 要是单机用 Docker 也可以,集群还是算了

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

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

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

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

© 2021 V2EX