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

刚看到关于系统和开发效率的烦恼,我想说为什么不选择用虚拟机来解决这些烦恼呢?

  •  
  •   ooh · 2018-11-06 22:33:18 +08:00 · 2075 次点击
    这是一个创建于 2238 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到刚才的帖子,抛开苹果自己的那套,纯编码来说,我接触到的不管文本编辑器和 IDE 大多跨平台都已经做的很好,现在又有 docker,虚拟机作为开发环境的一部分配合共享文件夹,不是很好吗,一劳永逸。
    现在我的台式宿主机除了游戏,常用的软件一般只安装 VMware Chrome Firefox 7-Zip 和一些常用的文本编辑器和 IDE,其他国产软件 115 迅雷 QQ 微信 单独扔到一台 Win10 的虚拟机里面,开发开一台 Ubuntu Server,所有命令行操作用 ComEmu + Win10 带的 bash 连接进去操作,开发环境用 docker 配置好,一般每个项目本地一个分支,服务器上面的稍微改改作为另外一个分支,这样有人需要加入的时候直接把 dokcer 配置文件扔给他就好了,也不需要考虑在宿主机上面会遇到包因为网络啊,版本啊装不上的问题。看到刚才的帖子感觉有点懵逼,觉得有人在开发到路上走了弯路,有感而发
    第 1 条附言  ·  2018-11-07 01:25:59 +08:00

    贴一个简单的 PHP-FPM dockerfile 来展示一下 docker 的方便吧

    FROM php:7.2.10-fpm-alpine
    
    RUN echo -e 'http://mirrors.aliyun.com/alpine/v3.8/main/\nhttp://mirrors.aliyun.com/alpine/v3.8/community/' > /etc/apk/repositories
    
    RUN apk add --update --no-cache curl zlib-dev cyrus-sasl-dev libmemcached-dev \
    && curl -# -o /usr/local/bin/composer 'https://getcomposer.org/composer.phar' \
    && chmod +x /usr/local/bin/composer \
    && curl -# -o memcached.tgz 'https://share-bucket-one.oss-cn-hangzhou.aliyuncs.com/memcached-3.0.4.tgz' \
    && mkdir -p /usr/src/php/ext/memcached \
    && tar zxvf memcached.tgz --strip 1 -C /usr/src/php/ext/memcached \
    && rm memcached.tgz \
    && docker-php-ext-configure memcached --disable-memcached-sasl \
    && docker-php-ext-install memcached \
    && docker-php-ext-install pdo_mysql \
    && docker-php-ext-install mysqli
    
    16 条回复    2018-11-07 19:05:55 +08:00
    agagega
        1
    agagega  
       2018-11-07 00:26:54 +08:00 via iPhone
    笔记本上开虚拟机会明显更耗电吗?
    ScotGu
        2
    ScotGu  
       2018-11-07 00:34:56 +08:00
    想问问,搞开发的是不是装系统、系统优化、虚拟化、网络规划、存储都要达到熟练成就?
    1747479654
        3
    1747479654  
       2018-11-07 00:38:25 +08:00
    那都是装逼犯, docker 就是专门对付这种吊人的.
    Visionhope
        4
    Visionhope  
       2018-11-07 00:39:28 +08:00 via Android
    开 windows 虚拟机会卡不,我用 12G 的笔记本试过,体验有点卡顿,而且资源占用也高。
    ooh
        5
    ooh  
    OP
       2018-11-07 01:15:31 +08:00
    @agagega 这个没详细测试过,如果只是 server 可以采用无界面启动,Virtualbox 资源占用少,VMware 性能更好,自带的共享文件夹 Virtualbox 性能比较差
    @ScotGu 这个大多上学的时候就应该达成了吧,那个时候一天到晚瞎折腾,当工具人帮同学装系统浪费不少生命,印象比较深刚上大一装 win7 和 ubuntu 双系统,奇葩的是光盘也无法引导开机,问老师怎么回事,老师说他平时都用虚拟机没,花了 30 块去修电脑的那里,拿光盘在那里一张张的试,弄了一下午,才终于有一张能开机...
    @Visionhope 我用的 SSD 感觉还好,VMware 各项资源占用还比较正常
    Trim21
        6
    Trim21  
       2018-11-07 01:18:18 +08:00 via Android
    没专业版 Windows 跑不了原生 docker …
    ooh
        7
    ooh  
    OP
       2018-11-07 01:21:48 +08:00
    @Trim21 虚拟机里面跑呀,就算用 Ubuntu 做开发机器,也开个 Ubuntu Server 虚拟机来做开发,这样既能保持宿主机清爽,又能无限折腾,还能和线上环境保持一致
    des
        8
    des  
       2018-11-07 01:29:18 +08:00 via Android
    docker 的话,配置麻烦了很多
    想要 debug,配置起来也不算简单,至少对于初学者来说是这样。再者很多人也不愿意去多学一个东西。

    二来是本子配置也不算高,docker 内存占用不止多了一点点。

    其实最主要的就两点,一是懒,懒得折腾 /学习这些东西,二是穷,买不起 /公司不给配高配电脑
    des
        9
    des  
       2018-11-07 01:31:08 +08:00 via Android
    到现在都有人再用 4g 内存的机子,你说虚拟机???
    ooh
        10
    ooh  
    OP
       2018-11-07 01:39:56 +08:00
    @des 4g 的机子用 VirtualBox 跑个 Ubuntu Server 应该还行,对于 docker 这个东西我觉得很好啊,编程路上不就是在寻找各种最佳实践来提升自己的效率吗,当初我也是 xampp 一路走来的,对于初学者什么都困难,当初 debug 一个 print 'hello world' 我都 debug 了两天,错误提示都不会看
    chi1st
        11
    chi1st  
       2018-11-07 02:06:08 +08:00 via Android
    vagrant 了解一下
    ooh
        12
    ooh  
    OP
       2018-11-07 07:28:20 +08:00 via Android
    @chi1st 写 laravel 时接触到 vagrant,当初感觉如获至宝,但是后面接触了 docker,觉得 docker 更符合我的需要,虽然两个都可以实现对开发环境的分发,但是现在感觉 vagrant 有点笨拙,当然它是一个好的虚拟机编排管理软件
    trait
        13
    trait  
       2018-11-07 09:00:26 +08:00 via iPhone
    同样的 linux/mac 照样虚拟机开个 win10 也没什么问题,为什么要安装 win
    ooh
        14
    ooh  
    OP
       2018-11-07 16:13:17 +08:00 via Android
    @trait ???
    redmin
        15
    redmin  
       2018-11-07 17:24:18 +08:00
    为啥不搞台测试服务器,装个 Linux 系统之类,然后自己搭个 git,各自干各自,再合并到 master ;没问题再 pull 到正式环境,,岂不是美滋滋。win 这东西就是装个编辑器,和个 xshll。
    ooh
        16
    ooh  
    OP
       2018-11-07 19:05:55 +08:00
    @redmin 写代码的时候测试环境还是在本机
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4714 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:12 · PVG 09:12 · LAX 17:12 · JFK 20:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.