本篇文章为大家分享一下在Docker中配置Tomcat并且运行web项目具体方法,有需要的小伙伴可以参考一下。
1、查找Docker Hub上的tomcat镜像
dockersearchtomcat
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
2、拉取官方的镜像
dockerpulltomcat
等待下载完毕,需要一些时间。
3、查看docker所有的镜像
dockerimages
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
4、启动tomcat镜像
注:前者是外围访问端口:后者是容器内部端口
dockerrun-d-p8080:8080tomcat
注:前者是外围访问端口:后者是容器内部端口 如下命令可后台启动tomcat -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
dockerrun–d-p8080:8080tomcat
如下则启动成功:
5、查看正在运行的容器
1、上传war包
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
2、创建并编辑”Dockerfile”,内容如下:
fromtomcatMAINTAINER*********@163.comRUNrm-rf/usr//tomcat/webapps/*COPYbutton.war/usr//tomcat/webappsENVTZ=Asia/ShanghaiRUNln-snf/usr/share/zoneinfo//etc/localtime&&>/etc/timezone
3、生成新的镜像
dockerbuild-tbutton:v1.
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
4、启动新的镜像
dockerrun-d-p8080:8080button:v1
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
5、查看已启动镜像
可以加上参数-itd后台启动tomcat,用以下方式查看已启动的镜像
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
6、查看tomcat中的项目
可以使用如下命令进入tomcat镜像:
docker-it*******/bin/bash
当我们进入镜像后,想对某些参数进行修改时,一般需要安装文本编辑器,以vim为例: 由于下载地址是海外地址,下载速度非常慢而且可能出现中断,所以做如下配置:
mv/etc/apt/sources.list/etc/apt/sources.list.bak>/etc/apt/sources.list>>/etc/apt/sources.list>>/etc/apt/sources.list>>/etc/apt/sources.list
然后更新
现在就可以安装我们需要的软件了,例如vim
aptinstallvim
7、输入ip和端口进行查看
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目
8、可以查看指定容器的log
dockerlogs-f容器id
Docker安装Tomcat镜像并部署web项目Docker安装Tomcat镜像并部署web项目

9、部署web项目后也许会出现docker容器与宿主、docker 容器与tomcat 应用打印日志时间和我们当前时间相差8个小时,可以添加如下配置:
①启动容器时,将系统时间挂载到容器内,可以解决docker容器与宿主时间不一致问题,如下所示: 添加参数
-v/etc/localtime:/etc/localtime:ro
完整命令如下示例:
sudodockerrun-d--namebutton-api-p8080:8080-v/etc/localtime:/etc/localtime:robutton-api:v1
②docker 容器与tomcat 应用打印日志时间不一致 启动tomcat容器后进入tomcat的”bin”目录,修改catalina.sh文件 在注释结束的第一行添加如下内容:
JAVA_OPTS=
如下图所示:
修改保存后重启docker容器就可以了。 重启方法: “docker ps”查询容器id,使用如下命令重启:
dockerrestart容器id
到此即可解决该问题。
struts的工作原理是什么?
服务器启动,根据加载ActionServlet读取文件内容到内存。 以登陆为例:第一次进会先实例化Form、把默认值赋给表单元素。 输入用户名密码提交表单、提交到action属性的,通过ActionServlet读文件找到action下的path属性找到,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方法。
docker在web开发中得使用流程是怎样的
设想一个如下场景:我们需要一个webapp,其功能是用户注册并将注册信息插入到数据库,环境为Ubuntu+Tomcat+Mysql,怎么做?不使用Docker的话,我们通常会这样做,以Ubuntu为操作系统,然后安装Tomcat和MySQL,最后把app部署上就可以了。 那么使用Docker会怎么做呢,在这个场景下,可以有两种方式:1.仍然以Ubuntu为操作系统,然后构建一个安装有MySQL和Tomcat的Docker镜像,并把app部署到其中,最后启动Docker镜像就可以了。 看起来好像和不使用Docker基本相同,甚至还要麻烦一些,是这样吗?别着急,继续往下看。 2.第二种方式则体现了Docker的每个容器只做一件事情的思想,我们构建两个镜像,一个仅安装Tomcat并部署我们的app,另一个仅安装MySQL,然后启动这两个镜像,得到两个容器,再利用Docker的容器互联技术将二者连接(Docker的容器是通过http连接的)。
maven 中建好一个webapp项目怎么运行
你有什么web容器?比较简单的是用tomcat,但是不方便调试 以tomcat为准,给你说一下步骤 打开tomcat的配置文件(tomcat的conf下的),增加一条配置Context path=/datamanage docBase=D:\saab-workspace\datamanage\pages\target\datamanage-pages-0.0.1-SNAPSHOT>--这个原来就有,为了标注加的位置 在这个项目中,点run---maven run(这个将进行编译操作),编译后将把编译好的web放到D:\saab-workspace\datamanage\pages\target\datamanage-pages-0.0.1-SNAPSHOT这个路径,你的路径不同,你需要自己设置 第三步就是启动tomcat tomcat会从之前定义的路径中将war包解压缩,放到自己的webapp目录下 以这种方式发布的可以调试java,但不能调试jsp 看我这么辛苦描述 给分哦~~
发表评论