天下之事,必先处之难,而后易之。

Docker实践-使用maven插件自动部署web应用至Docker容器的tomcat

此前在一篇文章有讲到将maven项目部署至tomcat:使用maven的tomcat插件实现webapp的自动部署

本文就是将 maven-tomcat-pluginsDocker 结合起来,将web应用部署至Docker容器中正在运行的tomcat。

原文地址:http://blog.csdn.net/massivestars/article/details/54357293


配置maven

在pom.xml加入

    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://192.168.1.106:8081/manager/text</url>
                <server>tomcat</server>
                <username>deploy</username>
                <password>deploy</password>
            </configuration>
        </plugin>
    </plugins>

在maven的settings.xml加入

 <server>
      <id>tomcat</id>
      <username>deploy</username>
      <password>deploy</password>
  </server>

maven的settings.xml在$MAVEN_HOME/conf目录


下载docker的tomcat镜像


1、搜索Docker Hub里的tomcat镜像

docker search tomcat
  • 部分搜索结果如下
NAME                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
tomcat                      Apache Tomcat is an open source implementa...   1132      [OK]
dordoka/tomcat              Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba...   29                   [OK]
cloudesire/tomcat           Tomcat server, 6/7/8                            12                   [OK]
davidcaste/alpine-tomcat    Apache Tomcat 7/8 using Oracle Java 7/8 wi...   11                   [OK]
andreptb/tomcat             Debian Jessie based image with Apache Tomc...   6                    [OK]

可以看到,星数最高的是官方的tomcat,有关官方tomcat的镜像可以访问
https://hub.docker.com/r/library/tomcat/

这里写图片描述

上面 “7.0.73-jre7, 7.0-jre7, 7-jre7, 7.0.73, 7.0, 7”等等 是这个tomcat库支持的tag(标签),这里我们选用的是 “7” 这个标签

2、拉取Docker Hub里的镜像

docker pull tomcat:7

3、拉取完成后查看本地的镜像

docker images #所有镜像
docker image tomcat:7  #查看REPOSITORY为tomcat:7的镜像

创建个人的Docker镜像

创建Dockerfile文件

mkdir -p /usr/local/dockerfile/massive
cd /usr/local/dockerfile/massive
touch Dockerfile

编辑Dockerfile

from tomcat:7
MAINTAINER massive
ADD tomcat-users.xml /usr/local/tomcat/conf/

注:tomcat-users.xml可以在tomcat/conf目录找到,拷贝一个到此目录

在tomcat-users.xml加入以下内容

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="deploy" password="deploy" roles="manager-gui, manager-script"/>

build这个镜像

docker build -t massive:tomcat 

运行个人定制的Docker镜像

docker run -p 8081:8080  massive:tomcat

将web应用部署至容器里运行的tomcat

mvn tomcat7:deploy 

web应用会通过tomcat的部署机制拷贝至容器的 /usr/local/tomcat/webapps/${project} 下,当Docker容器关闭后,容器内的改动不会保存至镜像,也就是说拷贝至容器的web应用会在容器关闭后被删除。

posted @ 2024-09-26 17:19  boonya  阅读(16)  评论(0)    收藏  举报  来源
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。