我们在 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 开发环境的?有什么经验可以分享?
1
LokiSharp 2016-09-10 19:16:39 +08:00 via iPhone
虚拟机装 Ubuntu
|
2
qweweretrt515 2016-09-10 19:47:54 +08:00
经过血的经验之后告诉你, 还是虚拟机装 ubuntu 好, 虚拟机可以考虑 virtualbox ,把主机的目录映射到虚拟机里
|
3
jackmasa 2016-09-10 20:17:49 +08:00
source -> commit -> build -> deploy
|
4
hujianxin 2016-09-10 20:22:42 +08:00
docker machine
|
5
huihuimoe 2016-09-10 22:50:06 +08:00 via Android
git webhook ? 提交代码的时候自动部署
|
6
kidlj OP 谢谢楼上几位的回复,我还是没有找到满意的 Docker for Windows 工作流。
|
7
kidlj OP 时隔两天再来汇报情况:
放弃了 Docker for Windows 做开发,因为它很难去实现 Docker 虚拟机和宿主 Windows 系统间的文件系统事件同步,(见 https://github.com/docker/for-win/issues/56 ),而这对构建持续集成的开发流程不可或缺。 解决方案:用 VMWare Player (免费)跑了个 CentOS 虚拟机,在上边跑原生的 Docker ,体验好极了! |