docker--部署JAVA环境和tomcat
不使用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服务了