原文:
版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_39800144/article/details/79067682
注:博主系统是ubuntu。
此文介绍,如何将一个项目spring web发布到docker中的tomcat容器中,服务器为阿里云服务器。
1.项目打包为war包
2.启动一个tomcat容器,具体如下:
root@iZuf6axmuekh1n14dwcufmZ:~# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf3b0f76293f9 tomcat:latest "catalina.sh run" 8 hours ago Up About an hour 0.0.0.0:8080->8080/tcp tomcat14ce1634ce6f1 mysql:latest "docker-entrypoint..." 4 weeks ago Up 4 weeks 0.0.0.0:3306->3306/tcp mysql1root@iZuf6axmuekh1n14dwcufmZ:~# docker run --name tomcat2 -d -p 8083:8080 tomcat:latest 91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854root@iZuf6axmuekh1n14dwcufmZ:~# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES91ebdd8d5c65 tomcat:latest "catalina.sh run" 9 seconds ago Up 9 seconds 0.0.0.0:8083->8080/tcp tomcat2f3b0f76293f9 tomcat:latest "catalina.sh run" 8 hours ago Up About an hour 0.0.0.0:8080->8080/tcp tomcat14ce1634ce6f1 mysql:latest "docker-entrypoint..." 4 weeks ago Up 4 weeks 0.0.0.0:3306->3306/tcp mysql1root@iZuf6axmuekh1n14dwcufmZ:~#
关键命令:docker run --name tomcat2 -d -p 8083:8080 tomcat:latest
这里,将宿主的8083端口映射到tomcat容器的8080端口,启动后别名为tomcat2。
(此时,访问ip:8083就可以访问到此tomcat了)
3.上传war包到服务器上,然后复制到此tomcat容器的webapps目录下,具体如下:
root@iZuf6axmuekh1n14dwcufmZ:~# rzrz waiting troot@iZuf6axmuekh1n14dwcufmZ:~# rzroot@iZuf6axmuekh1n14dwcufmZ:~# lstmall2.war
如何上传本地文件到服务器,
4.将此文件复制到刚才启动的tomcat2容器的webapps下,具体如下:
root@iZuf6axmuekh1n14dwcufmZ:~# docker cp tmall2.war 91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854:usr/local/tomcat/webappsroot@iZuf6axmuekh1n14dwcufmZ:~# docker exec -it tomcat2 /bin/bash 进入容器root@91ebdd8d5c65:/usr/local/tomcat# lsLICENSE NOTICE RELEASE-NOTES RUNNING.txt bin conf include lib logs native-jni-lib temp webapps workroot@91ebdd8d5c65:/usr/local/tomcat# cd webapps/root@91ebdd8d5c65:/usr/local/tomcat/webapps# lsROOT docs examples host-manager manager tmall2 tmall2.warroot@91ebdd8d5c65:/usr/local/tomcat/webapps# exit91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854,为此容器的id的全称,如果不知道,获取命令为:
docker inspect -f '{
{.Id}}' tomcat2root@iZuf6axmuekh1n14dwcufmZ:~# docker inspect -f '{ {.Id}}' tomcat291ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854
5.重启tomcat2
root@iZuf6axmuekh1n14dwcufmZ:~# docker restart tomcat2tomcat2
6.去浏览器访问:
posted on 2019-02-21 02:49 阅读( ...) 评论( ...)