话说用了基于 docker-gen 的几个镜像后才知道竟然有这样的操作。前一阵考虑更加友好的更新服务器的方式时,想到两种方案。
类 docker-gen 的方式自动更新所有容器的 git 仓库,这样在 Mac 上只要 push 到 github 服务器一会就自动更新了。
是跑一个 Dropbox 的客户端 Docker,其它容器的 Volume 都挂到 Dropbox 的一个子目录上。
然后我发现 Docker 的 API 竟然如此简单,于是撸了一个 Docker 镜像: git-agent
https://github.com/waylybaye/git-agent
使用非常简单,只要在服务器上启动一下 git-agent
docker run -d -v /:/rootfs -v /var/run/docker.sock:/var/run/docker.sock:ro hyperapp/git-agent
然后所有需要更新 git 仓库的容器添加两个变量就行了
docker run -d -e GIT_VOLUME='/srv' -e GIT_REMOTE='https://github.com/xxx.git' -v /srv myImage
每五分钟(可以配置)就会主动更新所有容器的仓库了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.