Windows下Docker部署tomcat及发布web应用方式
1、tomcat镜像下载
这里我们要部署tomcat,首先我们需要用到tomcat。打开cmd 运行
docker images //查看本地有哪些镜像
如图
若没有tomcat镜像,则使用
docker search tomcat //搜索有哪些tomcat镜像
这里我们选择star 最高的镜像
执行命令
docker pull tomcat //将镜像下载下来
等待下载完成,再次运行docker images 就可以看到我们下载的tomcat镜像
2、启动tomcat
2.1 守护式启动容器
打开cmd,运行
docker run –p 8080:8080 –d tomcat//以8080端口访问,守护式启动容器
打开浏览器 输入localhost:8080 若出现,则说明tomcat启动成功
2.2 交互式启动容器
docker run –p :8080:8080 –it tomcat /bin/bash
打开浏览器 输入localhost:8080 若出现上述页面,则说明tomcat部署完成
3、发布web应用
要发布web应用首先要有web应用,我们新建一个html文件,打包成war包。如图所示
进入到html文件相应目录,输入
jar –cvf 包名 ./* //jar 可查看相关命令
即可生成war包
发布web应用有三种方法,前两种方式主要用于测试环境下使用,第三种方式是官方推荐的方式。
3.1 将自己打包的war包上传在容器webapps目录下
运行
docker cp 宿主机war包路径 容器名:/usr/local/tomcat/webapps
可执行查看正在运行的容器
docker ps//查看正在运行的容器
我们可以进入容器查看是否将war包copy到容器内
Docker exec –it 容器名 /bin/bash //进入正在运行的容器并以交互式运行
Dir//查看当前容器内所有目录
Cd webapps //进去webapps目录下
如图我们可以看到刚才copy的war包已经上传到容器内,如图
tomcat服务器启动时,会自动将webapps下的war包解压,创建一个与war包同名的文件,如果不想自动把war包解压,可以在server.xml文件中,将unpackWARs设为false。
访问路径:http://localhost:8080/war包名字/war包打包前html名字.html。千万别输错了,不然访问不到!!!!!!切记!!!!!
如图:
3.2 在容器挂载时将war包传入
运行
docker run –p 8080:8080 –v war包路径:/usr/local/tomcat/weebapps/war包名字 –d tomcat
同理,也可以以交互式运行容器查看容器内目录文件。
3.3 使用Dockerfile生成新的镜像,使用新镜像运行容器
手动编写一个Dockerfile文件,必须符合file规范,由此文件后,docker build 命令执行,获得一个自定义的镜像文件。
3.3.1 制作Dockerfile
Echo FROM tomcat>>Dockerfile
Echo MAINTAINER ZZ@QQ.COM
Echo COPY 宿主机war包路径 /usr/local/tomcat/webapps
**注意运行时宿主机war包路径**
可以使用type Dockerfile 查看Dockerfile内容
3.3.2 构建镜像
进入到Dockerfile所在文件目录运行
docker build –t 新镜像名字
.运行完成后,执行docker images,可以查看到新镜像
3.3.3 运行新镜像
docker run –p:8080:8080–d 新镜像名字
这时就可以访问你发布的web服务了,也可以参照上面方法访问容器内部目录。