一.部署springmvc(war包)项目

1.手工方式

①搜索tomcat镜像

docker search tomcat

②拉取tomcat基础镜像至本地仓库

docker pull tomcat

③启动tomcat镜像生成容器实例

docker run -d --name myProject -p 8080:8080 tomcat
docker ps -a #查看所有容器列表及容器id

④向容器中安装jdk与部署war包:从官网下载jdk Linux版上传至服务器,然后将jdk文件拷贝至容器

#语法
docker cp 服务器文件路径 容器ID:容器文件路径
#拷贝jdk至容器
docker cp /usr/local/webapp/jdk-8u191-linux-x64.tar.gz dfc869bcc497:/root
#拷贝war包至容器
docker cp /usr/local/webapp/project.war dfc869bcc497:/usr/local/tomcat/webapps/
#进入docker容器
docker exec -it dfc869bcc497 /bin/bash #解压jdk文件
cd /root
tar -zxvf jdk-8u121-linux-x64.tar.gz #创建jdk文件夹
mkdir /usr/lib/jdk
#移动jdk文件夹
mv /jdk1.8.0_121/ /usr/lib/jdk #安装vim
apt-get update
apt-get install vim #配置环境变量
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#使配置立即生效
source ~/.bashrc #验证jdk安装
java -version

⑤重启docker容器

docker restart dfc869bcc497

访问服务器地址:8080/项目上下文进行验证、

2.Dockerfile方式

①在/usr/local/webapp文件夹下准备好jdk的解压完成文件夹与需要部署的war包,并创建Dockerfile文件

FROM tomcat
MAINTAINER @qq.com
COPY ./jdk1..0_191/ /usr/local/jdk
COPY ./jeesite-master.war /usr/local/tomcat/webapps ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH $PATH:$JAVA_HOME/bin

②仍然在此文件夹下构建镜像

docker build -t cmp/tomcat:v1 --rm=true .

查看镜像列表

③启动镜像生成docker容器实例

docker run -d --name mycmp -p : cmp/tomcat:v1

访问服务器地址:8080/项目上下文验证

Docker部署web项目-war包的更多相关文章

  1. Docker部署web项目-jar包

    一.Docker部署web项目-jar包 ①搜索mysql镜像 docker search mysql ②拉取镜像至本地仓库(本文选取的mysql镜像5.7版本) docker pull mysql/ ...

  2. 将Web项目War包部署到Tomcat服务器

    1. 配置Java运行环境 1.1 下载并安装JDK 从官网上下载最新的JDK:http://java.sun.com/javase/downloads/index.jsp ,下载后安装,选择想把JD ...

  3. IntelliJ IDEA打包WAR并部署运行(mac osx)将Web项目War包部署到Tomcat服务器基本步骤(完整版)

    用IntelliJ IDEA做web开发体验很好,但导出war包比eclipse麻烦了不少,以下是解决方案: 打包:1.自动打包:File —> Project Structure —> ...

  4. 将Web项目War包部署到Tomcat服务器基本步骤

    参考来源: http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1. 常识:   1.1 War包 War包一般是在进行Web ...

  5. 将Web项目War包部署到Tomcat服务器基本步骤(完整版)

    1. 常识:   1.1 War包 War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码. 当开发人员在自己 ...

  6. java web项目war包部署,使用tomcat对指定接口设置身份认证

    先简单说一下需求: 将一个基于springboot2.0开发的java web项目打成war包,通过tomcat部署到一台linux服务器上,项目相关的一些图片等资源也按照一定规则放置在服务器构建好的 ...

  7. Spring Boot部署之 web项目war包运行

    传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问. 具体打war包流程: 1.pom.xml配置文件修改: 2.改造启动类,如果是war包发布 ...

  8. 使用idea2016导出web项目war包

    第一步配置Web Application:Exploded(已经配置的可以跳到第二步): 打开project structure(默认的快捷键是Ctrl+Alt+Shift+S),依次选择Artifa ...

  9. Docker 部署web项目

    1.查找Docker Hub上的tomcat镜像 # docker search tomcat   2.拉取官方的镜像 # docker pull tomcat   提示:Using default ...

随机推荐

  1. Java框架之MyBatis框架(二)

    Mybatis框架是相对于优化dao层的框架,其有效的减少了频繁的连接数据库(在配置文件xml中进行配置),将sql语句与java代码进行分离(写在XXXXmapper.xml文件中,一个表对应一个x ...

  2. Centos7搭建Harbor私有仓库(二)

    1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...

  3. PCB板信号完整性分析的操作步骤及设置方法

    AD16的主要功能是画电路原理图和根据电路原理图设计PCB板.为了使设计的电路.画完的电路原理图,从电路原理上不存在错误,从电路逻辑上不存在混乱,AD16专门开发了电路原理图的仿真程序.这样可以把设计 ...

  4. HTML&CSS基础-html注释功能

    HTML&CSS基础-html注释功能 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.什么是HTML(Hypertext Markup Language) 超文本标记 ...

  5. Linux必知必会--curl

    你有多自律,你就能走多远~ --久节奏.慢读书 Curl命令 学习每个linux命令都该掌握man命令.(可以使用man命令去查看每个命令的使用说明) curl命令是一个利用URL规则在命令行下工作的 ...

  6. P1856 [USACO5.5]矩形周长Picture[扫描线]

    题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长. 题目描述 编写一个程序计算周长. 如图1所示7个矩形. ...

  7. 4、markdown基本语法

    一.前言 由于有些语法无法在博客园展示,推荐使用Typora解锁全套,下载地址:https://www.typora.io/ 推荐使用jupyter,使用方法:https://www.cnblogs. ...

  8. postgres高可用学习篇三:haproxy+keepalived实现postgres负载均衡

    环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...

  9. Java内存区域与内存溢出异常(jdk 6,7,8)

    运行时数据区域 Java虚拟机在执行Java程序的过程中会把它关联的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户 ...

  10. 关于Java的i++和++i的区别

    之前对于 i++ 和 ++i 的理解就是: int i=1,a=0; 1.i++ 先运算在赋值,例如 a=i++,先运算a=i,后运算i=i+1,所以结果是a==1 2.++i 先赋值在运算,例如 a ...