Docker安装Tomcat镜像并部署web项目

一、安装Tomcat
1、查找Docker Hub上的tomcat镜像

docker search tomcat

2、拉取官方的镜像

docker pull tomcat

等待下载完毕,需要一些时间。

3、查看docker所有的镜像

docker images

4、启动tomcat镜像
注:前者是外围访问端口:后者是容器内部端口

docker run -d -p 8080:8080 tomcat

注:前者是外围访问端口:后者是容器内部端口
如下命令可后台启动tomcat
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

docker run –d -p 8080:8080 tomcat

如下则启动成功:

5、查看正在运行的容器

docker ps

输入ip和端口即可查看tomcat主页:

二、向Tomcat部署自己的web项目
1、上传war包

2、创建并编辑”Dockerfile”,内容如下:

from tomcat #你的 tomcat的镜像
MAINTAINER *********@163.com #作者
RUN rm -rf /usr/local/tomcat/webapps/*
COPY button.war /usr/local/tomcat/webapps #放置到tomcat的webapps目录下
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

3、生成新的镜像

docker build -t button:v1 .

4、启动新的镜像

docker run -d -p 8080:8080 button:v1

5、查看已启动镜像
可以加上参数-itd后台启动tomcat,用以下方式查看已启动的镜像

docker ps

6、查看tomcat中的项目
可以使用如下命令进入tomcat镜像:

docker exec -it ******* /bin/bash #******是容器id(CONTAINER_ID)

当我们进入镜像后,想对某些参数进行修改时,一般需要安装文本编辑器,以vim为例:
由于下载地址是海外地址,下载速度非常慢而且可能出现中断,所以做如下配置:

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

然后更新
apt update
现在就可以安装我们需要的软件了,例如vim
apt install vim

7、输入ip和端口进行查看

8、可以查看指定容器的log

docker logs -f 容器id

9、部署web项目后也许会出现docker容器与宿主、docker 容器与tomcat 应用打印日志时间和我们当前时间相差8个小时,可以添加如下配置:

①启动容器时,将系统时间挂载到容器内,可以解决docker容器与宿主时间不一致问题,如下所示:
添加参数

-v /etc/localtime:/etc/localtime:ro

完整命令如下示例:

sudo docker run -d --name button-api -p 8080:8080 -v /etc/localtime:/etc/localtime:ro button-api:v1

②docker 容器与tomcat 应用打印日志时间不一致
启动tomcat容器后进入tomcat的”bin”目录,修改catalina.sh文件
在注释结束的第一行添加如下内容:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

如下图所示:

修改保存后重启docker容器就可以了。
重启方法:
“docker ps”查询容器id,使用如下命令重启:

docker restart 容器id

到此即可解决该问题。

原文地址:https://www.cnblogs.com/jxldjsn/p/10540549.html

时间: 2025-01-09 03:28:41

Docker安装Tomcat镜像并部署web项目的相关文章

Linux下安装Tomcat服务器和部署Web应用

一.上传Tomcat服务器 二.安装Tomcat服务器 2.1.解压tomcat服务器压缩包 2.2.配置环境变量 tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量 编辑/etc下的profile文件,加上如下内容: 2.3.修改tomcat服务器的启动端口 修改将Tomcat服务器启动时使用的端口,例如改成9999 修改完server.xml文件之后,保存,退出. 三.Tomcat服务器启动和关闭 3.1.启动Tomcat服务器 进入tomcat服务器的bin

docker学习4-docker安装tomcat环境和部署war包

前言 tomcat部署web项目非常方便,把war包放到webapps目录就可以了.本篇使用docker快速搭建一个tomcat环境 下载tomcat镜像 拉取官方最新版tomcat镜像 [[email protected] ~]# docker pull tomcat Using default tag: latest latest: Pulling from library/tomcat 6f2f362378c5: Pull complete 494c27a8a6b8: Pull compl

开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson.Hudson本身已经跟SVN.Git.Maven集成并且支持添加各种插件.但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目成WAR,另外一个任务负责部署打包好的WAR包到目标服务器的Tomcat上.虽然任务只需要配置一次,但每次修改代码提交后,都得切换到浏览器点Hudson构建任务页面上的Build Now按钮,然后还得跳转到另一个页面观察是否有报错,然后再点击执行相应的部署任务.烦不胜烦,偶然发现To

eclipse部署web项目至本地的tomcat但在webapps中找不到

第一次安装或者重新安装eclipse,在部署项目的时候很可能会遇到 eclipse部署web项目至本地的tomcat但在webapps中找不到的问题.这是因为你的eclipse中的server中的项目部署路径没有设置好.因此,你会在你的tomcat中的webapps目录中并没有发现部署的项目,同时你可以在eclipse内置浏览器中输入http://localhost:8080/可以正常打开,但在外部浏览器上打开http://localhost:8080时却没有出现所期望的小猫画面. 解决办法:按

【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到

clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat 跑起来以后,浏览器能正常访问,但在tomcat的安装目录下的 webapps 并没有出现项目目录. 我的项目其实由两个项目组成,一个就是现在这个动态web项目(用作后台和部分前台详情页),另外一个是为 Phonegap 准备的前台html(静态页面),以下就用 动态web项目.静态web项目 指代他

Intellij IDEA通过tomcat部署web项目的机制

问题 以前使用eclipse调用tomcat运行web项目时,eclipse的方式非常直接了当,就是直接将项目更新到%TOMCAT_HOME%/webapps目录下即可.然而在使用Intellij IDEA时,该目录下看不到任何项目文件,%TOMCAT_HOME%/conf/Catalina/localhost目录下也看不到任何项目配置文件,那么问题来了,web项目到底是如何部署到tomcat上的呢? 思路 通过仔细观察Intellij启动tomcat时的输出日志(MAC OS下),可以发现一些

利用Tomcat部署Web项目报错

1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 八月 18, 2014 7:35:40 下午 org.apache.catalina.core.AprLifecycleListener init 信息: Loaded APR based Apache Tomcat Native library 1.1.24 u

Linux服务器上的tomcat中部署web项目

首先了解一下下面几个概念,讲得不太准确: 1.JVM JVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行class和jar文件.你可以通过-classpath参数指定你需要加载的jar文件 2.JDK JDK就是JAVA的命令行开发环境,内置了JVM,特征就是javac命令,这个命令允许你将.java源文件批量或者单个编译成.class文件,从而可以通过JVM的java命令执行.在编译时你可以通过-clas

tomcat 部署web项目

TOMCAT 部署web项目 方法介绍 操作前,先来了解一下Tomcat的目录结构. (适用于Tomcat 6.0,Tomcat7.0)    Tomcat下有7个目录,分别是bin,conf,lib,logs,temp,webapps,work 目录,现在对每一目录做介绍. Tomcat根目录在tomcat中叫<CATALINA_HOME>,      1.<CATALINA_HOME>/bin:        存放各种平台下启动和关闭Tomcat的脚本文件.      2.&l