服务器环境建好以后,如果要扩展,只需要执行(详细命令到下文中找)
docker run .....
发完版本需要重启服务,执行(详细命令到下文中找)
docker restart [容器的ID]

将文件传到 tomcat 下,可参考  Docker cp 将宿主机上的文件复制到容器中


 

准备文件

apache-tomcat-9.0.31.tar.gz

jdk-8u191-linux-x64.tar.gz


 CentOS上安装Docker。

1.检查内核版本,返回的值大于3.10即可。、
$ uname -r

Docker 下自定义安装 Tomcat

安装 Docker 

yum -y install docker


 

将tomcat 、jdk 传到 /usr/local/docker目录中

Docker 下自定义安装 Tomcat

 在java、jdk同级目录下,创建 Dockerfile 文件,文件名不能错,否则后面 build 会检测不到

[root@localhost ~]# cd /usr/local/docker/

[root@localhost docker]# touch Dockerfile 

Docker 下自定义安装 Tomcat

 

 

Dockerfile 文件内容如下

FROM         centos
MAINTAINER    ChenJun
#把java与tomcat添加到容器中
ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/
ADD ./apache-tomcat-9.0.31.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE  8080
#启动时运行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.31/bin/startup.sh" ]
# CMD ["/usr/local/apache-tomcat-9.0.31/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.31/bin/logs/catalina.out

构建

#点表示当前目录 ,也可以直接指定  docker build -t tomcat9 /usr/local/docker

[root@localhost docker]# docker build -t tomcat9 . 

 如果显示超时,可以重启一下 systemctl restart docker

Docker 下自定义安装 Tomcat

 构建成功后,如处图 Docker 下自定义安装 Tomcat

 

启动docker 加上 webapp、logs目录映射

[root@localhost web]# docker run -d -p 9091:8080 --name tomcat9091 -v /opt/web/tomcat9091/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9091/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9

[root@localhost web]# docker run -d -p 9092:8080 --name tomcat9092 -v /opt/web/tomcat9092/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9092/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9

 

创建映射后,会自动的在 宿主机上建立相应的目录(tomcat webapps下面原有的目录不会映射过来,不知道为什么,通过 docker exec ... 进去看的时候,容器webapps里面也没有文件

Docker 下自定义安装 Tomcat

 

 Docker 下自定义安装 Tomcat

 

 测试Tomcat

建个测试的war包

Docker 下自定义安装 Tomcat

 

 

Docker 下自定义安装 Tomcat

 

 war 包上传到 9091下面,如果不加 test是不会显示的。默认带小猫的页面,不在本地的 webapps下面

Docker 下自定义安装 Tomcat

 

 

 

Docker 下自定义安装 Tomcat

 

 

 

 Docker 下自定义安装 Tomcat

 

 Docker 下自定义安装 Tomcat

 

 

 有时候war包放上去,需要重新服务。这时候可以用命令重启

docker restart [容器的ID]

Docker 下自定义安装 Tomcat

 查看容器中的内容

[root@localhost docker]# docker exec 07de30dd6e3c ls -l

Docker 下自定义安装 Tomcat

 

相关文章:

  • 2021-07-01
  • 2021-11-09
  • 2021-08-13
  • 2021-07-12
  • 2021-11-03
  • 2021-09-10
猜你喜欢
  • 2021-08-31
  • 2021-04-30
  • 2021-08-20
  • 2021-10-06
  • 2022-12-23
  • 2021-08-29
相关资源
相似解决方案