你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
tifayuki - Tutum 工程师
赞同来自: DockOne 、ahjdzx1990 、向太陽奔跑Alan 、VectorHo 、docker_yxx
wendell_cy
赞同来自:
9lives - 爱生活,爱云计算。
徐新坤 - 京东商城-TIG-JDOS团队
huangqg - TenxCloud时速云创始人
捏星星
要回复问题请先登录或注册
6 个回复
tifayuki - Tutum 工程师
赞同来自: DockOne 、ahjdzx1990 、向太陽奔跑Alan 、VectorHo 、docker_yxx
我来说一下docker style吧: immutable infrastructure(不可变的架构?)
是Jérôme Petazzoni@Docker 大神在2015 Gluecon(就是三天前)做的演讲(http://www.slideshare.net/jpet ... -2015)
简单的说就是不要去容器里改变任何东西,哪怕只有修改CSS这种情况,你都应该重新构建一个镜像,然后去部署。
比较好的做法是:
<ol><li>你的dockerfile和java的代码都保存在github(也可以是其他的地方),然后本地修改代码,修改好了,commit到github的staging分支上去。</li><li>这时候CI会自动为你在staging上跑测试。</li><li>当测试通过后,你去把代码merge到master,然后master会再次运行CI,并自动根据你的代码构建镜像。</li><li>镜像构建好之后,会推送到你相应的私有repository去。</li><li>当有新版本的镜像被推送后,会自动部署到production</li></ol>
这样就完成了一个开发部署的闭环,也是tutum所宣传的container platform
开发者只需要专注于开放,当代码提交后,平台会自动部署代码到生产环境,这就是最大的优点。
wendell_cy
赞同来自:
提交一个新版本应该就可以了吧。
9lives - 爱生活,爱云计算。
赞同来自:
个人的经验是,将你的源代码以卷的方式映射到容器中,容器只保留tomcat等固定设置,每次build直接attach卷到已有容器中就可以了。或者将tomcat+ java等做成base image,每次build其实很快的。
刚接触docker不足一个月,如有不正确之处,欢迎讨论。:)
徐新坤 - 京东商城-TIG-JDOS团队
赞同来自:
这种版本迭代的情形应该具有普遍性。
我的做法是做两个Dockerfile。
一个Dockerfile用以描述你的运行环境,这个run一次就可以了,生成base镜像。
然后另外一个Dockerfile从base镜像基础上(FROM base),然后ADD你的代码到指定目录并有相关配置。每次只要build这个Dockerfile就可以了。
huangqg - TenxCloud时速云创始人
赞同来自:
你好,你可以用tomcat镜像创建一个容器,然后将war部署在tomcat里,当然这个war包可以通过持续集成来构建,tomcat容器可以保证只有一个。你可以用时速云做到这一点 https://www.tenxcloud.com/
捏星星
赞同来自:
建议JAVA的运行环境加tomcat这些做成base image。tomcat的root目录固定。
然后在宿主机上部署JAVA的目标文件,可以以版本号做路径。
然后每次docker run base image的时候把tomcat的root mount到宿主机的相应版本下。
这样做的好处就是不用build多个image,版本控制可以在docker run的时候控制。image仅仅是tomcat的运行环境 跟业务无关。