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

2016-09-10 18:41:45 +08:00
 kidlj

我们在 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 开发环境的?有什么经验可以分享?

5098 次点击
所在节点    Docker
7 条回复
LokiSharp
2016-09-10 19:16:39 +08:00
虚拟机装 Ubuntu
qweweretrt515
2016-09-10 19:47:54 +08:00
经过血的经验之后告诉你, 还是虚拟机装 ubuntu 好, 虚拟机可以考虑 virtualbox ,把主机的目录映射到虚拟机里
jackmasa
2016-09-10 20:17:49 +08:00
source -> commit -> build -> deploy
hujianxin
2016-09-10 20:22:42 +08:00
docker machine
huihuimoe
2016-09-10 22:50:06 +08:00
git webhook ? 提交代码的时候自动部署
kidlj
2016-09-11 15:31:55 +08:00
谢谢楼上几位的回复,我还是没有找到满意的 Docker for Windows 工作流。
kidlj
2016-09-13 22:12:21 +08:00
时隔两天再来汇报情况:

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

解决方案:用 VMWare Player (免费)跑了个 CentOS 虚拟机,在上边跑原生的 Docker ,体验好极了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/305325

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX