docker中使用tomcat

 扩展Tomcat的官方Dockerfile,构建新的镜像,从修改过的新镜像启动容器,并部署JavaWeb项目

  使用docker search可以查到最流行的(和官方的)Docker Tomcat容器:

# docker search tomcat
INDEX       NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/tomcat                  Apache Tomcat is an open source implementa...   178       [OK]       
docker.io   docker.io/consol/tomcat-7.0       Tomcat 7.0.578080"admin/admin"              12                   [OK]
docker.io   docker.io/consol/tomcat-8.0       Tomcat 8.0.158080"admin/admin"              10                   [OK]
docker.io   docker.io/consol/tomcat-6.0       Tomcat 6.0.438080"admin/admin"              6                    [OK]
docker.io   docker.io/dordoka/tomcat          Ubuntu 14.04Oracle JDK 8 and Tomcat 8 ba...   4                    [OK]
docker.io   docker.io/malderhout/tomcat       Tomcat7 with OpenJDK7 on CentOS7                3                    [OK]
docker.io   docker.io/cloudesire/tomcat       Tomcat server 6/7/8 with oracle java 7/8 o...   2                    [OK]
docker.io   docker.io/ericogr/tomcat          Tomcat 8.0.238080"docker/docker"            1                    [OK]
docker.io   docker.io/liferay/tomcat          Tomcat version used by Portal bundles (onl...   1                    [OK]
docker.io   docker.io/learninglayers/tomcat                                                   0                    [OK]

  使用docker pull 下载官方镜像,这里我选择官方的tomcat,latest版本

# docker pull tomcat

  下载完成后,使用docker images 命令查看镜像

# docker images
REPOSITORY                                        TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
docker.io/tomcat                                  latest              cb8603fe47ec        3 weeks ago          347.8 MB

    扩展Dockerfile我需要扩展Dockerfile,来实现Maven的自动部署。需要添加settings.xml,更 新tomcat-users.xml文件。如下所示:

    tomcat-users.xml:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="chag" password="111111" roles="manager,manager-gui,manager-script" />
</tomcat-users>

  settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings>
<servers> 
<server>
<id>TomcatServer</id>
<username>chag</username>
<password>111111</password>
</server> 
</servers>

    这些文件和Dockerfile放在同一个目录下。

    Dockerfile更新为:

FROM tomcat
MAINTAINER "CHAG <[email protected]>"
ADD settings.xml /usr/local/tomcat/conf/
ADD tomcat-users.xml /usr/local/tomcat/conf/

    当镜像构建时,配置文件会被放置到正确目录下。从这个镜像启动的任意容器都会包含这些文件。

    重构镜像:在当前文件目录

# docker build -t chag/tomcat .

  启动容器:

# docker run -d --name tomcat -p 8080:8080 chag/tomcat

  使用宿主机的IP:8080就可以访问tomcat服务了

猜你喜欢

转载自blog.csdn.net/qq_34777982/article/details/77822779