docker--部署JAVA环境和tomcat

时间:2024-03-05 22:12:25

不使用docker部署

配置java环境

服务器上是没有配置java的环境的

准备好jdk和tomcat的安装包

解压 apache-tomcat-8.5.35.tar.gz

tar -xf apache-tomcat-8.5.35.tar.gz

解压 jdk-8u211-linux-x64.tar.gz并移动到 /usr/local/下,重命名为jdk8

解压:tar -xf jdk-8u211-linux-x64.tar.gz
移动:mv jdk1.8.0_211/ /usr/local/jdk8

配置jdk的环境变量

vi /etc/profile 在文件最后面写入下面的内容,第一行是你JDK的位置,需要你更改,后面的不需要更改

export JAVA_HOME=/usr/local/jdk8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效和验证

source /etc/profile

启动tomcat

启动tomcat很简单,只需要解压并进入到bin目录下,执行startup.sh就可以了

tomcat的端口默认是8080端口,访问,看到如下页面表示配置成功

这样起来的tomcat是后台启动的,我们也可以在前台启动

[root@WC bin]# ./catalina.sh run

需要加run参数

如果访问不了请检查防火墙

docker启动

在apache和jdk同级的目录下创建dockerfile文件,内容如下

FROM centos:7
ADD jdk-8u211-linux-x64.tar.gz /usr/local
RUN mv /usr/local/jdk1.8.0_211 /usr/local/jdk8
ENV JAVA_HOME=/usr/local/jdk8
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
ADD apache-tomcat-8.5.35.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.5.35 /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

代码解释:

  • ADD jdk-8u211-linux-x64.tar.gz /usr/local 将本地的jdk复制到容器内部并解压
  • RUN mv /usr/local/jdk1.8.0_211 /usr/local/jdk8 移动并重命名
  • 后面的4个env是设置环境变量
  • EXPOSE 8080 暴露出8080端口
  • ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"] 启动容器的时候执行,不能后台启动,要不然容器启动后就停止了

[root@WC ~]# docker build -t centos:java .

 启动容器:

docker run -itd -p 8081:8080 -v /root/test/ROOT:/usr/local/tomcat/webapps/ROOT centos:java /bin/bash

然后我们访问8081端口就可以访问tomcat服务了