V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
leehwui
V2EX  ›  问与答

搭建本机开发环境, vagrant V.S. docker

  •  
  •   leehwui · 2015-12-12 11:22:18 +08:00 · 4606 次点击
    这是一个创建于 3274 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在本机架设开发环境(主要是 PHP 项目,也有 Django 项目), vagrant 和 docker 那个更合适?原因是什么?

    16 条回复    2015-12-13 11:46:34 +08:00
    pupboss
        1
    pupboss  
       2015-12-12 11:26:19 +08:00
    leehwui
        2
    leehwui  
    OP
       2015-12-12 11:40:29 +08:00
    @pupboss 标题我一已经修改过了,谢谢指点
    rming
        3
    rming  
       2015-12-12 11:50:08 +08:00
    vagrant
    viko16
        4
    viko16  
       2015-12-12 13:52:45 +08:00
    建议 vagrant ,搭建一套完整的开发环境挺省心

    docker 总感觉不是给程序猿们玩的
    deyu260
        5
    deyu260  
       2015-12-12 14:06:56 +08:00
    mark
    Nixus
        6
    Nixus  
       2015-12-12 14:36:19 +08:00
    vagrant
    好像 vagrant 可以管理 docker
    msg7086
        7
    msg7086  
       2015-12-12 15:11:38 +08:00
    开发还是建议构建一个完整环境。
    如果是 Linux 的话可以考虑 LXC 或者 nspawn ,如果是 Windows 的话,我个人一直用 VirtualBox 。
    Docker 我觉得更偏向于沙盒。
    odirus
        8
    odirus  
       2015-12-12 16:25:51 +08:00 via Android
    直接在某台电脑装 linux ,然后用 samba 映射目录到本地,本地写代码,远程调试,还不影响性能, vagrant 在 win 上会出问题
    barbery
        9
    barbery  
       2015-12-12 16:26:44 +08:00
    vagrant 方便很多,省心。。。如果是需要频繁切换依赖的版本的话就选 docker ,否则 vagrant
    nbndco
        10
    nbndco  
       2015-12-12 17:40:33 +08:00
    理论上来说应该用 vagrant ,因为 docker 不是设计为做这个的,用起来会有一些坑。但实际上 docker 会非常非常非常省资源,尤其是你有很多项目同时要开不同的环境的时候,不过除了省资源实在是也没有其他好处了。
    publicAdmin
        11
    publicAdmin  
       2015-12-12 20:35:11 +08:00
    过来人现身说法,玩票性质,可以用 docker ,但是工作环境,还说 vagrant 来的靠谱。毕竟 docker 还有些许学习成本, vagrant 和玩儿实物机除了网卡,别无其他异样。
    之前我没注意看 docker 下载的镜像大小,每次看着有好玩的镜像就直接 docker pull 下来了,玩完 rm 掉,我以为就真的清掉了。然并卵,直到有天我发现 256 的小空间只剩下 3G 不到。。。。
    evlos
        12
    evlos  
       2015-12-12 20:38:58 +08:00
    Docker 还是不太适合拿来做开发环境的
    gzlock
        13
    gzlock  
       2015-12-12 20:46:04 +08:00 via Android
    docker-compose ,得心应手
    @publicAdmin rm 容器后请用 rmi 删除镜像
    publicAdmin
        14
    publicAdmin  
       2015-12-12 20:50:30 +08:00
    @gzlock 之前在托管的机器上瞎搞,习惯性 rm 完就不管了。- -有了此次教训后,倒是晓得存储的金贵
    chairuosen
        15
    chairuosen  
       2015-12-12 21:50:25 +08:00
    docker 一般是用于部署稳定的运行环境,一般是单向的, dockerfile -> image -> container 。
    你开发肯定要经常调整配置啥的,反过来是可以 commit image 但是一般不这么做,这个 image 还得找个 registry 管理,没法直接 copy 走给另一台机器用。

    还是建议 vagrant
    billryan
        16
    billryan  
       2015-12-13 11:46:34 +08:00
    docker 用于部署,当然也可以用作解决复杂依赖,建一个 image 后跑在 container 里当普通程序一样用。 vagrant 是虚拟机级别的解决方案,有整套隔离的系统和环境。各取所需。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1195 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:00 · PVG 07:00 · LAX 15:00 · JFK 18:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.