V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
baxia
V2EX  ›  程序员

大家是否在本地环境安装数据库服务

  •  
  •   baxia · 163 天前 · 8053 次点击
    这是一个创建于 163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我反复在本地环境和 docker 环境中徘徊,大家开发程序的时候,是将 redis 或者 mysql 安装在本机环境还是在 docker 中?

    81 条回复    2024-06-13 11:10:05 +08:00
    yuhr123
        1
    yuhr123  
       163 天前
    习惯性用 docker ,一方面是应用隔离,另一方面是“干净又卫生”。
    Baymaxbowen
        2
    Baymaxbowen  
       163 天前
    docker 干净又卫生
    StinkyTofus
        3
    StinkyTofus  
       163 天前
    我还以为程序员都有 HomeServer 呢
    yangg
        4
    yangg  
       163 天前
    mac:orbstack
    其它系统:docker
    docker 你这种环境多的话用起来会觉得真心方便。
    maocat
        5
    maocat  
       163 天前 via iPhone   ❤️ 12
    无脑 docker ,直接装感觉我的电脑受到了污染
    silentsky
        6
    silentsky  
       163 天前
    用 scoop 安装也可以 一行命令的事
    cksspk
        7
    cksspk  
       163 天前
    mac 用 brew
    linux 用 docker-compose
    baxia
        8
    baxia  
    OP
       163 天前
    @StinkyTofus 是有在考虑 HomeServer ,配了电脑还没开始折腾
    evam
        9
    evam  
       163 天前
    brew services 又不是不能用
    除非你要装多个版本的数据库
    coolair
        10
    coolair  
       163 天前
    我是 win ,redis 和 mysql 都有绿色的,直接放本机。
    panlatent
        11
    panlatent  
       163 天前
    Docker, 因为可以多版本共存,灵活启停。

    现在本地开发直接手动用 Docker 装服务的情况也很少了。都是用某些集成工具,一条命令启动开发环境,语言环境、数据库、中间件、Host 都自动配好了。
    hkiJava
        12
    hkiJava  
       163 天前
    @panlatent #11 求推荐集成工具 有时候一个个装太麻烦了
    whoosy
        13
    whoosy  
       163 天前
    @panlatent 有推荐的吗
    chimission
        14
    chimission  
       163 天前
    装在 docker 里, 数据目录挂载出来
    panlatent
        15
    panlatent  
       163 天前
    @hkiJava
    @whoosy

    这个得看具体技术栈吧 ,我只晓得 PHP 的。Laravel 有 Sail , 其他 PHP/Python 有 DDEV , 还有好多类似的工具可以用。应该不会有太大而全的,这种工具不具体去支持某个框架肯定不会太好用。
    LHN
        16
    LHN  
       163 天前
    我是直接在 wsl 中装的 MySQL 和 Redis
    Ackvincent
        17
    Ackvincent  
       163 天前
    搞了台服务器装 ESXI ,更方便灵活。
    baobao1270
        18
    baobao1270  
       163 天前
    否,装在虚拟机里,可以随时恢复快照/重置
    k9982874
        19
    k9982874  
       163 天前
    本机,docker 不把数据挂载出来一不小心就火葬场,挂载出来不如本机安装
    wqhui
        20
    wqhui  
       163 天前
    丢 docker ,拉下来就能用,安装本地还得配一堆环境
    tgich
        21
    tgich  
       163 天前
    一数据库不是随便安
    AmaQuinton
        22
    AmaQuinton  
       163 天前
    用的 VMvare ,里面装的各种软件
    lawler
        23
    lawler  
       163 天前
    有个 m720 的物理机,放所有数据。
    byboy
        24
    byboy  
       163 天前
    docker 大发好,但是得走代理,最近的这波操作我真是服了
    EastLord
        25
    EastLord  
       163 天前
    内存够用 就用 docker
    juzisang
        26
    juzisang  
       163 天前
    docker ,本地装感觉电脑被污染了。
    QlanQ
        27
    QlanQ  
       163 天前
    我的原则是 最小依赖,如果 项目本身需要 docker ,那数据库和其他服务都放 docker ,如果 不是,就优先本地
    mac 内存那么金贵,还是需要省着点用
    FawkesV
        28
    FawkesV  
       163 天前
    windows11. WSL2 . 用的 docker
    cdlnls
        29
    cdlnls  
       163 天前 via Android
    要只是简单测试的话,就用 docker 。
    常用的会用本地安装。
    本地安装也分两种(没有版本问题的用包管理器安装,其他的可能会用源码编译改安装路径进行安装)

    以上都是在虚拟机里面运行
    BBCCBB
        30
    BBCCBB  
       163 天前
    docker docker, 快速/隔离/方便
    chaos93
        31
    chaos93  
       163 天前
    @panlatent #11 现在 docker 用不了拉
    maymay5
        32
    maymay5  
       163 天前
    是,但是基本不用,习惯放云服务器里,云端同步,方便
    wu67
        33
    wu67  
       163 天前
    docker, 完美规避软件炸了卸载不干净和装不上等各种毛病.
    Greendays
        34
    Greendays  
       163 天前
    装 docker 。不过这种情况也不多,本地一般也就装一个数据库吧,也用不到装一大堆数据库的程度。
    chuunshii
        35
    chuunshii  
       163 天前
    再问大佬们一个问题,各位是用 wsl 装 docker 呢还是直接用 docker desktop
    NX2023
        36
    NX2023  
       163 天前
    @chuunshii 感觉区别不大? Docker Desktop 也是在 WSL 里运行 Docker
    ccc008
        37
    ccc008  
       163 天前
    win 下,我个人喜欢下载 zip 包,然后 mysqld –install ,不用了 mysqld –remove 。干净又卫生。
    gabezhao
        38
    gabezhao  
       163 天前
    Mac 搭建环境直接用 brew
    chaoschick
        39
    chaoschick  
       163 天前 via Android
    不用 docker
    kenvix
        40
    kenvix  
       163 天前
    Docker. 实际上 mysql 安装是比较糟心的,docker 是最简单的
    wonderfulcxm
        41
    wonderfulcxm  
       163 天前 via iPhone
    本机,装了就没想过要卸载,不想用 docker ,能不用 docker 就不用,因为还要启动虚拟机。
    norkki
        42
    norkki  
       163 天前
    复古到原始时代基本上都用源码编译, 比起仓库软件包安装主要优点是版本更好控制多实例等问题, 比起 docker 似乎没啥优势直到 dockerhub 被封, 缺点是 mysql8 编译有点慢
    IvanLi127
        43
    IvanLi127  
       163 天前
    docker ,损耗性能事小,污染环境事大。服务端如果还依赖别的服务就直接上 dev container 了,多个项目切换来切换去地,不想老是配环境,而且依赖的数据库的主版本还不一样 QAQ
    coolfan
        44
    coolfan  
       163 天前
    洁癖,用 docker
    huajia2005
        45
    huajia2005  
       163 天前
    建议不装在本机,也不装 docker,直接服务器安装这些,本地当客户端,别让本地当服务端,感觉现在越来越往这个趋势发展了
    Donahue
        46
    Donahue  
       163 天前
    mysql 卸载不干净,本机或者 homelab 的 docker 安装,数据映射出来就好
    OMGZui
        47
    OMGZui  
       163 天前
    brew
    hai046
        48
    hai046  
       163 天前
    docker+映射本地数据存储
    sunny2580839896
        49
    sunny2580839896  
       163 天前
    本地内存比较少,所以像 redis ,mysql 专门买了一个服务器在上面跑,本地就安装了 jdk
    fengbjhqs
        50
    fengbjhqs  
       163 天前
    win 多版本,离线,二进制,又不是不能用
    chesha1
        51
    chesha1  
       163 天前
    云数据库就够用了,cf d1 有 5G 空间,至少对我来说完全够用了
    Terry05
        52
    Terry05  
       163 天前
    home server 里装啊,不过当然,即使是有了 home server ,同样是用 docker 来安装的
    mmdsun
        53
    mmdsun  
       163 天前   ❤️ 1
    @NX2023
    @chuunshii

    docker desktop 会启动一个 hyper-v 虚拟机,这个占用资源太多,在 hyper-v 管理器里面直接可以看到。
    WSL 2 微软定义是轻量级虚拟化,WSL 2 用 linux 版本 docker 资源占用少很多。
    knva
        54
    knva  
       163 天前
    不用 docker
    spaceyuan
        55
    spaceyuan  
       163 天前
    数据库不是太频繁更换就不用 docker ,本地绿色安装就好
    RandomJoke
        56
    RandomJoke  
       163 天前
    docker 就完事了, 以后会有多环境, 会有版本切换, 会有配置更改, 维护个 docker 方便, 当然本地不装最方便😄
    satoru
        57
    satoru  
       163 天前
    看对你开发的场景性能是否重要(例如是不是经常要刷点 benchmarks 啥的)
    同样是 Redis ,在 macOS 下用 Docker 性能会差很多
    neochen13
        58
    neochen13  
       163 天前
    docker-compoese ,本地只放配置文件,以及映射出来的数据文件
    guanzhangzhang
        59
    guanzhangzhang  
       163 天前
    vscode remote ,远端机器是 linux ,直接起个 mysql 容器😎
    thevita
        60
    thevita  
       163 天前   ❤️ 1
    开发环境啊,谁会放 HomeServer 啊, 我理解 HomeServer 怎么也是某种生产环境了

    一般实践来说, development environments 应该是你项目代码的一部分,尽量不依赖项目外的服务,也尽量不依赖手动配置(当然也不要太教条,只是个人意愿, 我自己实践下了很多也不能完全做到)。

    这包括但不限于

    a) 管理开发时的构建/工具/运行时 等, asdf 等
    b) 开放过程中依赖的服务/中间件(既题主提到的场景),docker-compse 确实是个蛮简单好用的方案, 除此之外还有 vagrant 这种,如果习惯的话,也推荐
    c) 能完成开发环境快速搭建需要的,demo/测试 数据等

    能不手动就不手动,反正不写这些你最后还是要写成文档的,没啥区别
    NX2023
        61
    NX2023  
       163 天前
    @mmdsun 我记得安装的时候会问你要不要安装到 WSL 里,不如就 hyper-v ,现在基本都是用 WSL 了,我记得是这样的
    supuwoerc
        62
    supuwoerc  
       163 天前
    docker 数据脏了乱了直接重新搞容器
    pckillers
        63
    pckillers  
       163 天前
    必须 docker 啊,遇到没 docker 的国产数据库就虚拟机伺候。
    xuelu520
        64
    xuelu520  
       163 天前
    window11 直接 wsl,虽说 docker 方便,但是吧,某些奇怪需求你的镜像不支持,还得做镜像
    kkwa56188
        65
    kkwa56188  
       163 天前
    看标题 我以为 本地 vs. 云
    看内容才知道 "本地" vs. docker.

    我用云
    zictos
        66
    zictos  
       163 天前
    用 phpstudy 安装过 mysql ,后面也是一直在用的,平时要处理大量数据会存储在 mysql 中,或者使用 sqlite ,用远程的 mysql 会慢得要死
    zjz1993
        67
    zjz1993  
       163 天前
    xampp
    RangerWolf
        68
    RangerWolf  
       163 天前
    docker ,我生产环境的数据库也在 Docker
    ShuWei
        69
    ShuWei  
       162 天前
    是 docker 满足不了你的需求吗
    panda1001
        70
    panda1001  
       162 天前 via Android
    本地用 xampp 或 phpstudy 管理
    wupher
        71
    wupher  
       162 天前
    这个肯定 Docker ,最开始没有 docker 的时候直接本地装,多了简直是恶梦,开发机和垃圾站一样,二进制库还会出现冲突等问题。

    后来用 vagrant ,好是好,服务一多就不行了。

    现在基本 docker ,甚至用 docker-compose 进行编排。
    elevioux
        72
    elevioux  
       162 天前
    其实 docker 也会增加不必要的网络问题
    dif
        73
    dif  
       162 天前
    docker 一般就满足了。
    chihiro2014
        74
    chihiro2014  
       162 天前
    docker 啥的安装在本地服务器上
    channlong
        75
    channlong  
       162 天前
    肯定是用 Docker 了, 不会污染系统环境啊
    w292614191
        76
    w292614191  
       162 天前
    windows10 能装 docker 吗?我就没成功过,安装完后各种报错。
    flyqie
        77
    flyqie  
       162 天前 via Android
    @wupher #71

    是的。。

    开发机装很多版本不同的环境,管理起来很废脑子。
    CodeAllen
        78
    CodeAllen  
       162 天前
    @w292614191 HyperV 安装原生 Linux 发行版,一句话安装。Docker Desktop 和 WSL 安装 Docker 都有点蛋疼。至于文件共享,D 盘建个共享目录,其他 HyperV 虚拟机直接挂载 smb 就行。ssh 连接麻烦? Linux 装个 avahi ,自动注册 mDNS ,直接连接 hostname 就行了不需要知道虚拟机 IP 。
    w292614191
        79
    w292614191  
       161 天前
    @CodeAllen #78 学习了,很难想象对 windows 的支持这么低
    coderzhangsan
        80
    coderzhangsan  
       161 天前
    docker 用的还不熟,所以一直以来是虚拟机 vmware 。
    Comyn
        81
    Comyn  
       161 天前
    云服务器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2926 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:38 · PVG 22:38 · LAX 06:38 · JFK 09:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.