docker部署tomcat及web应用

阅读更多

 

 

一、docker安装Tomcat容器

1.1 查找服务器的tomcat信息

docker search tomcat 

 

1.2下载下来官方的镜像Starts最高的那个

docker pull  tomcat    

docker pull  tomcat 

 

1.3 查看本地所有的docker镜像

docker images     

  

1.4启动tomcat

docker run -d -p 8081:8080 tomcat    
//若端口被占用,可以指定容器和主机的映射端口 前者是外围访问端口:后者是容器内部端口,一般tomcat镜像内部端口都是8080,这个要修改需改动镜像的server.xml文件
//-d表示后台运行即执行完后页面还在命令行,不加这个参数页面就在tomcat控制台

 

1.5启动后即可访问 

192.168.2.4:8081 //这里我是部署在局域网2.4机器上

 

二、部署自己的web引用

docker ps     # 使用以下命令来查看正在运行的容器

 

 方式一:将项目拷到容器中

2.1.将自己的war包 上传到主机

  这里我的war包叫jeeplus.war,上传路径为/usr/local/chenq目录,使用ftp工具上传即可

 

2.2.执行 查看容器tomcat中的地址

docker  exec -it   a265   /bin/bash    
//中间那个是容器id(CONTAINER_ID) -it表示打开一个标准输入的伪终端 /bin/bash则是指定目录bash目录进入容器
//可在终端中执行exit命令退出

 

 上图可以看到该容器的虚拟地址是/usr/local/tomcat

 

2.3把war包拷到容器的webapps目录下

  进入/usr/local/chenq目录执行如下命令:

docker cp jeeplus.war a265:/usr/local/tomcat/webapps/

 

2.4 重启 docker restart 【容器id】

docker restart a265 //重启容器参数不会变

 

2.5 查看容器tomcat中的项目

docker  exec -it   3cb492a27475   /bin/bash    #中间那个是容器id(CONTAINER_ID) 
cd /webapps
ls   # 即可查看到我们的项目了

 

 方式二:

2.6 以挂载的方式启动

docker run -d -v /usr/local/chenq/jeeplus.war:/usr/local/tomcat/webapps/jeeplus.war -p 8081:8080 tomcat
//这里-v参数指定挂载  冒号前指定宿主机地址(最好写全路径,试过在当目录下直接写jeeplus.war结果打开容器war没自动解压)
//冒号后为容器地址

这两种方式都比较适合在项目经常发生变动的测试环境中使用

 

方式三: 

2.7 生成包含web项目的新镜像

  前两种方式建议在测试环境使用,毕竟要经常修改代码 ,方式3可以放到生产上使用。也是官网建议的方式

  首先进入/usr/local/chenq目录,如下新建Dockerfile文件,并写入下面三行内容

vi Dockerfile

from tomcat:latest    #你的 tomcat的镜像
MAINTAINER chenq    #作者
COPY jeeplus.war   /usr/local/tomcat/webapps  #jeeplus.war包也放在这个目录,将它放置到tomcat的webapps目录下

 

2.8生成新的镜像:

docker build -t chenq:v1 .
//-t属性用于指定新镜像的名字和标签 最后的.表示从当前目录查找Dockerfile文件生成新镜像

   

2.9 启动新的镜像

docker run -d -p 8081:8080 chenq:v1

 

 

  • docker部署tomcat及web应用_第1张图片
  • 大小: 17.7 KB
  • docker部署tomcat及web应用_第2张图片
  • 大小: 13.6 KB
  • 查看图片附件

你可能感兴趣的:(docker部署tomcat及web应用)