一.下載centos7標准鏡像及安裝mysql5.7
二.安裝jdk
1.查詢可用jdk版本
yum search java|grep jdk
2.根據搜索到的jdk進行安裝
yum install java-1.8.0-openjdk
3.查看是否安裝成功和版本
java -version
三.安裝tomcat
從官網下載tomcat的tar包,下載文件為apache-tomcat-8.5.37.tar.gz
1.使用docker cp命令將tar拷貝到容器中
docker cp /apache-tomcat-8.5.37.tar.gz mycontainer:/usr/local/
2.啟動容器,並將容器的8080端口映射到宿主機的8888端口
docker run -d -p 8888:8080 --name 容器名(自定義) --privileged -it (已有鏡像名):(鏡像標簽) /usr/sbin/init
3.進入已經啟動的容器
docker exec -it mycentos /bin/bash
4.進入到/usr/local目錄下,執行解壓tar操作
tar -zxvf apache-tomcat-8.5.37.tar.gz
5.將解壓完的文件夾重命名
mv apache-tomcat-8.5.37.tar.gz tomcat
6.進行到tomcat/bin目錄下 執行
./startup.sh 啟動tomcat
打開本機瀏覽器輸入localhost:8888
出現tomcat的歡迎界面則tomcat安裝成功
如果沒有出現請查看端口映射是否和本地有沖突,或重新安裝tomcat
7.再次使用docker cp命令將本地的java web項目的war包拷貝到容器tomacat的webapps目錄下
docker cp /java_web.war mycentos:/usr/local/tomcat/webapps/
8.進入容器的tomcat目錄下執行
./bin/shutdown.sh
./bin/startup.sh
tomcat會自動解壓war
本地打開瀏覽器,訪問
http://localhost:8888/java_web/
如果能展示項目的登錄頁面或首頁則項目部署 到此完成
如果不能,請查看tomcat/logs/catalina.out日志文件 和 localhost.當前日期.log 根據日志解決錯誤
常見的錯誤有:
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/diaowen] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector]
解決:
修改tomcat內存
vi /usr/local/tomcat/bin/catalina.sh
在"if [ $have_tty -eq 1 ]; then"之后增加
JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"
保存並重啟tomcat
如有疑問 請聯系博主