不使用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服務了