您的位置:首页 > 运维架构 > Docker

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

2018-01-15 18:58 239 查看
此文介绍,如何将一个项目spring web发布到docker中的tomcat容器中,服务器为阿里云服务器。

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

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 spring