我现在希望在 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 1
别这样做。。
|
2
sneezry 2017-03-04 02:03:32 +08:00 via iPhone 1
别把数据和环境混到一起
|
3
newton108 OP |
4
bbx 2017-03-04 03:19:57 +08:00 1
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
不要把容器当虚拟机一样长期运行
容器就是维护核心那一个进程的周边环境的东西 |