数据库, Nginx, Redis 这种基础组件到底应不应该运行在容器中? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaowowo
V2EX    Docker

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

  •  
  •   xiaowowo 2024-01-23 02:43:51 +08:00 3774 次点击
    这是一个创建于 629 天前的主题,其中的信息可能已经有所发展或是发生改变。

    运行在容器中有什么好处

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

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

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

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

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

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

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

    是使用哪些软件遇到了什么问题从而需要真机部署?
    perfectlife
        18
    perfectlife  
       2024-01-23 16:25:09 +08:00
    老实讲 我感觉这三个都没必要放容器里,nginx 有的镜像有时候会有点小问题,没有 yum/apt 安装的兼容性好,mysql/redis 这种部署后基本不动了,容器部署可以但是必要性不强
    MXMIS
        19
    MXMIS  
       2024-01-23 20:45:52 +08:00
    Nginx 进 Docker 没啥问题,mysql 和 redis 要是单机用 Docker 也可以,集群还是算了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1083 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86