kidlj
V2EX  ›  Docker

使用 Docker for Windows 搭建 Web 开发环境的正确姿势是什么?

  •  
  •   kidlj ·
    kidlj · Sep 10, 2016 · 5979 views
    This topic created in 3596 days ago, the information mentioned may be changed or developed.

    我们在 Web 开发的时候,都会用到一些现成的工具持续 watch 源码文件,这样一有代码改动,不用手动重启服务器就可以在浏览器里看到变化。

    Docker for Windows 可以将 Windows 里的某个目录作为 volume 挂载(映射)到 Dockers Container 里。理想的情况是我们将在 Windows 本地的源码目录挂载到 container 里,这样每次一有代码改动, container 自动构建 /重启服务器。可现在的问题是在 Windows 里改动了代码, container 却监视不到文件的变化,因为 Windows 文件系统的事件(改动、新建等)不能传递到 container 里。这是虚拟机层面( HyperV )没有实现文件系统事件传递( via https://github.com/docker/docker/issues/18246 )。

    鉴于此,大家有没有用 Docker for Windows 搭建 Web 开发环境的?有什么经验可以分享?

    7 replies    2016-09-13 22:12:21 +08:00
    LokiSharp
        1
    LokiSharp  
       Sep 10, 2016 via iPhone
    虚拟机装 Ubuntu
    qweweretrt515
        2
    qweweretrt515  
       Sep 10, 2016
    经过血的经验之后告诉你, 还是虚拟机装 ubuntu 好, 虚拟机可以考虑 virtualbox ,把主机的目录映射到虚拟机里
    jackmasa
        3
    jackmasa  
       Sep 10, 2016
    source -> commit -> build -> deploy
    hujianxin
        4
    hujianxin  
       Sep 10, 2016
    docker machine
    huihuimoe
        5
    huihuimoe  
       Sep 10, 2016 via Android
    git webhook ? 提交代码的时候自动部署
    kidlj
        6
    kidlj  
    OP
       Sep 11, 2016
    谢谢楼上几位的回复,我还是没有找到满意的 Docker for Windows 工作流。
    kidlj
        7
    kidlj  
    OP
       Sep 13, 2016
    时隔两天再来汇报情况:

    放弃了 Docker for Windows 做开发,因为它很难去实现 Docker 虚拟机和宿主 Windows 系统间的文件系统事件同步,(见 https://github.com/docker/for-win/issues/56 ),而这对构建持续集成的开发流程不可或缺。

    解决方案:用 VMWare Player (免费)跑了个 CentOS 虚拟机,在上边跑原生的 Docker ,体验好极了!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5470 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 01:30 · PVG 09:30 · LAX 18:30 · JFK 21:30
    ♥ Do have faith in what you're doing.