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

290 天前
 xiaowowo

运行在容器中有什么好处

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

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

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

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

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

3213 次点击
所在节点    Docker
19 条回复
rrfeng
290 天前
数据库争议比较大,后两个无脑进。
phrack
290 天前
性能几乎没有损失
setimouse
290 天前
跟性能没关系。容器不是虚拟机,只是资源上做分组隔离,不影响性能。
totoro625
290 天前
Nginx 打算放出来了,目前还是 docker 运行

其他的 docker 都是内部使用,无需对外访问
而 Nginx 在 docker 运行遇到了几个问题:
1 、docker stop nginx 修改 docker 参数后,80/443 端口被裸机安装的 Tailscale 抢端口,裸机安装 ginx 兼容性更好一点
2 、配置文件只有一个/一个文件夹,迁移比较简单
3 、不修改 docker 配置的情况下,可以很好的支持 ipv6 和 iptables
sunny2580839896
290 天前
数据库还是放在外面,数据稳妥
Greendays
290 天前
都可以用容器的,基本不会影响到性能。
cbdyzj
290 天前
都可以用容器的,数据 volume 啥的都有现成的结局方案
Quarter
290 天前
目前来看 除了数据库放 docker 应该都没事,数据库的话有说会影响 IO 的,也有说容器崩溃后导致数据受损不易恢复的,但还是有不少项目直接是 docker 跑的,感觉问题不是特别大
demoshengxw
290 天前
貌似有状态应用容器化一直是个难题,我们生产环境上千个 pod 都是连阿里的 rds 。
popil1987
290 天前
可以,性能有一定损失,但运维简便
hefish
290 天前
数据库要真是跑容器里引起问题了,那才放容器外。 问题包括 性能啊,可靠程度啊之类的。
chenqh
290 天前
nginx 没有必要放 docker 吧,apt 安装从来不坏,而且也没有追求新版本的特性,不像数据库
haython
290 天前
mysql 也放在 docker 了,4 年了,没啥问题,升级也方便,每天几千万个 sql 执行
echo1937
290 天前
网络有模式的问题,
@totoro625 你这个机器是 derp 服务器吗,按道理 tailscale 客户端是不需求 80 和 443 端口的
totoro625
290 天前
@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
290 天前
怎么方便怎么来;
测试环境肯定是全容器化;
生产环境肯定是能云则云,别想着从这方面给老板省钱,很贱的;
又上不起云又没专业运维,天王老子来了都是容器一把梭。
wunonglin
290 天前
反过来想。

是使用哪些软件遇到了什么问题从而需要真机部署?
perfectlife
290 天前
老实讲 我感觉这三个都没必要放容器里,nginx 有的镜像有时候会有点小问题,没有 yum/apt 安装的兼容性好,mysql/redis 这种部署后基本不动了,容器部署可以但是必要性不强
MXMIS
290 天前
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