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

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

  •  
  •   baxia · 5 天前 · 6051 次点击

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

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

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

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

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

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

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

    这包括但不限于

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

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

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

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

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

    是的。。

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