如何更新docker tomcat容器中的war文件

时间:2015-01-21 02:14:31

标签: tomcat ssh docker war

我开始浏览文档并开始了解docker。使用官方tomcat:7-jre7图像创建一个图像,并在适当的地方发动战争,它开始/停止正常。

我的参考文件是:

    FROM tomcat:7-jre7
    MAINTAINER: me, me@hotmail.com 
    ADD app.war /usr/local/tomcat/webapps
    EXPOSE 8080
    CMD ["catalina.sh", "run"]

现在这一切都很好我有两个问题:

  1. 如果出现问题,可以直接查看日志文件吗?
  2. 如何更新war文件?是否有某种方法来ssh / scp一个新文件?
  3. 到目前为止,我已尝试通过以下方式启动原始图像:

       docker run -t <_id> /bin/bash 
    

    然后在不同的会话中进行如下所示的附加,但这并没有做太多 - 我看到的只是一个黑屏。

       docker attach <running_container_id> 
    

    我想到的另一种方式(未经测试)是从主机共享文件 - 希望更新war文件会触发tomcat重新部署war文件?有人试过吗?

    有更好的简单方法吗?

    感谢您的任何意见,感激不尽。

1 个答案:

答案 0 :(得分:0)

根据您的要求,您有多种选择。最简单的选择是让你的内置war文件的文件夹也包含你上面的Dockerfile。然后,每当war文件更新时,启动docker build和docker run。这也可以通过无花果轻松实现,例如:

tomcat:
    build: ./war

现在只要war文件发生更改就运行fig up,新容器将从war文件夹中的Dockerfile构建并运行。