美文网首页
docker部署tomcat服务

docker部署tomcat服务

作者: n_xy | 来源:发表于2021-03-22 13:08 被阅读0次

一. 首先构建一个容器来获取官网示例

Dockerfile如下

FROM ubuntu:16.04

RUN apt-get -y update
RUN apt-get -y install wget

VOLUME [ "/var/lib/tomcat8/webapps" ]
WORKDIR /var/lib/tomcat8/webapps

ENTRYPOINT [ "wget" ]
CMD [ "--help" ]

这个镜像安装了wget,并把/var/lib/tomcat8/webapps作为卷映射,WORKDIR指定了ENTRYPOINT中参数运行的路径文件夹,CMD中的指令在运行时有参数传入的话会被覆盖掉。
之后可以运行docker build指令来构建镜像了

  1. 构建运行容器下载war包
    运行
docker run -t -i --name sample jamtur/fetcher https://tomcat.apache.org/tomcat-8.5-doc/appdev/sample/sample.war

war包会被下载到容器/var/lib/tomcat8/webapps下,由于设置了卷映射,可以在宿主机上的文件夹找到该war包。
查找方法:

  1. docker inspect -f "{{.Mounts}}" 容器名称
    输出如下
[{volume 5c0642539fc200d228c01074e964bb8deb3779a887c08f87163fc7063fcc2d62 /home/xxm/docker/volumes/5c0642539fc200d228c01074e964bb8deb3779a887c08f87163fc7063fcc2d62/_data /var/lib/tomcat8/webapps local  true }]

那一长串就是宿主机上的映射位置.
可以进入该目录查看

  1. docker unspect -f "{{.Volumes}}“” 容器名称
    这个命令我是没有查到,但是咱使用 -v映射时候可以查到有相应的映射目录

卷在至少有一个容器引用时不会被删除,相反如果没有容器引用到的话,就会被删除

到此,第一步完成.

二. 构建tomcat容器

Dockerfile

MAINTAINER James Turnbull <james@example.com>
ENV REFRESHED_AT 2016-06-01

RUN apt-get -y update
RUN apt-get -y install tomcat8 default-jdk

ENV CATALINA_HOME /usr/share/tomcat8
ENV CATALINA_BASE /var/lib/tomcat8
ENV CATALINA_PID /var/run/tomcat8.pid
ENV CATALINA_SH /usr/share/tomcat8/bin/catalina.sh
ENV CATALINA_TMPDIR /tmp/tomcat8-tomcat8-tmp

RUN mkdir -p $CATALINA_TMPDIR

VOLUME [ "/var/lib/tomcat8/webapps" ]

EXPOSE 8080

ENTRYPOINT [ "/usr/share/tomcat8/bin/catalina.sh", "run" ]

然后构建镜像

运行时输出 --volumes-from (容器名) 来共享上述的文件夹

docker run -d -P  --name xxx --volumes-from sample image-name 

通过 docker port 容器名查看宿主机对应的端口访问即可。

相关文章

网友评论

      本文标题:docker部署tomcat服务

      本文链接:https://www.haomeiwen.com/subject/gedzcltx.html