Docker---(4)Docker 部署spring web项目

时间:2022-01-24 21:49:02

此文介绍,如何将一个项目spring web发布到docker中的tomcat容器中,服务器为阿里云服务器。

1.项目打包为war包
2.启动一个tomcat容器,具体如下:

root@iZuf6axmuekh1n14dwcufmZ:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3b0f76293f9 tomcat:latest "catalina.sh run" 8 hours ago Up About an hour 0.0.0.0:8080->8080/tcp tomcat1
4ce1634ce6f1 mysql:latest "docker-entrypoint..." 4 weeks ago Up 4 weeks 0.0.0.0:3306->3306/tcp mysql1
root@iZuf6axmuekh1n14dwcufmZ:~# docker run --name tomcat2 -d -p 8083:8080 tomcat:latest
91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854
root@iZuf6axmuekh1n14dwcufmZ:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91ebdd8d5c65 tomcat:latest "catalina.sh run" 9 seconds ago Up 9 seconds 0.0.0.0:8083->8080/tcp tomcat2
f3b0f76293f9 tomcat:latest "catalina.sh run" 8 hours ago Up About an hour 0.0.0.0:8080->8080/tcp tomcat1
4ce1634ce6f1 mysql:latest "docker-entrypoint..." 4 weeks ago Up 4 weeks 0.0.0.0:3306->3306/tcp mysql1
root@iZuf6axmuekh1n14dwcufmZ:~#

关键命令:docker run --name tomcat2 -d -p 8083:8080 tomcat:latest

这里,将宿主的8083端口映射到tomcat容器的8080端口,启动后别名为tomcat2。

(此时,访问ip:8083就可以访问到此tomcat了)

3.上传war包到服务器上,然后复制到此tomcat容器的webapps目录下,具体如下:

root@iZuf6axmuekh1n14dwcufmZ:~# rz
rz waiting troot@iZuf6axmuekh1n14dwcufmZ:~# rz
root@iZuf6axmuekh1n14dwcufmZ:~# ls
tmall2.war

如何上传本地文件到服务器,点击这里

4.将此文件复制到刚才启动的tomcat2容器的webapps下,具体如下:

root@iZuf6axmuekh1n14dwcufmZ:~# docker cp tmall2.war 91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854:usr/local/tomcat/webapps
root@iZuf6axmuekh1n14dwcufmZ:~# docker exec -it tomcat2 /bin/bash 进入容器
root@91ebdd8d5c65:/usr/local/tomcat# ls
LICENSE NOTICE RELEASE-NOTES RUNNING.txt bin conf include lib logs native-jni-lib temp webapps work
root@91ebdd8d5c65:/usr/local/tomcat# cd webapps/
root@91ebdd8d5c65:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager tmall2 tmall2.war
root@91ebdd8d5c65:/usr/local/tomcat/webapps# exit
91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854,为此容器的id的全称,如果不知道,获取命令为:

docker inspect -f '{{.Id}}' tomcat2

root@iZuf6axmuekh1n14dwcufmZ:~# docker inspect -f '{{.Id}}' tomcat2
91ebdd8d5c652b465cc15f86cdc1c41167e211aaae9f1e42ab1032e7db8d3854

5.重启tomcat2

root@iZuf6axmuekh1n14dwcufmZ:~# docker restart tomcat2
tomcat2

6.去浏览器访问:

Docker---(4)Docker 部署spring web项目Docker---(4)Docker 部署spring web项目Docker---(4)Docker 部署spring web项目