
我现在希望在 host 里 git push, post-update hook 自动在容器里运行。
如果 host 的 working dir 是 git clone hostpath/project.git/ 出来的, host 的 git 会,而不是容器里的 git 会,尝试 post-update hook。
我猜如果 git clone ssh://user@container/project.git 的话就会在容器内运行了。可是如何做到呢?
1 shyling 2017-03-04 01:47:50 +08:00 别这样做。。 |
2 sneezry 2017-03-04 02:03:32 +08:00 via iPhone 别把数据和环境混到一起 |
3 newton108 OP |
4 bbx 2017-03-04 03:19:57 +08:00 vagrant 就好了 |
6 bbx 2017-03-04 03:38:00 +08:00 docker 也不小。。 |
7 binux 2017-03-04 03:47:38 +08:00 mount volume |
9 binux 2017-03-04 04:15:21 +08:00 @newton108 #8 你把工作目录挂到 docker 里面,然后「 host 里编辑 markdown , 在 docker 里 compile 成 html ,然后在 host 里浏览」 |
10 newton108 OP @binux 这步我已经成功了,问题是如果我在 host 里 `git commit`, docker 里不会自动运行 hook, 这个 hook 不能在 host 里运行因为 host 是 mac ,容器是 linux 。 |
12 bbx 2017-03-04 06:22:10 +08:00 |
15 binux 2017-03-04 06:29:58 +08:00 @newton108 #13 你监控特定的文件啊,不知道 git 提交会改动哪个文件,最简单的, post-update 修改一个 commited 文件,你监控它不就好了。 |
16 swulling 2017-03-04 08:41:23 +08:00 via iPhone 难道标准流程不是 git.push 后触发构建,创建新的 image ,然后销毁旧的容器换新的 |
17 just4test 2017-03-04 08:46:01 +08:00 docker 的标准用法就是代码变更后重新创建 image 。 你有两个选择: 1.git push 之后重新构建重新运行 2.使用第三方 Docker 托管,比如 Daocloud |
18 julyclyde 2017-03-04 22:34:31 +08:00 不要把容器当虚拟机一样长期运行 容器就是维护核心那一个进程的周边环境的东西 |