Docker部署Java Web系统

1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app

2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下

3.解压两个tar.gz文件

tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux-x64.tar.gz

4.对解压后的文件进行重命名

mv apache-tomcat-7.0.29 tomcat mv jdk-7u25-linux-x64 jdk

5.在app目录下,制作Dockerfile文件来创建镜像

touch Dockerfile

6.Dockerfile文档内容及注解

-------------------------------------------------------------------------Dockerfile内容---------------------------------------------------------------

#使用ubuntu:14.04作为基础镜像
   FROM ubuntu:14.04
#指定镜像创建者信息
  MAINTAINER test xxxx@xxx.com
#创建日期
  ENV REFRESHED_AT 2017-2-15
#切换镜像目录,进入/usr目录
  WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
  RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
  RUN mkdir tomcat
#切换镜像的目录至/usr/jdk
  WORKDIR /usr/jdk/

#将宿主机的jdk目录下的文件拷至镜像的/usr/jdk目录下
   ADD jdk /usr/jdk
#切换镜像的目录至/usr/tomcat
   WORKDIR /usr/tomcat
#将宿主机的tomcat目录下的文件拷至镜像的/usr/tomcat目录下
   ADD tomcat /usr/tomcat
#设置环境变量
   ENV JAVA_HOME=/usr/jdk
   ENV JAVA_BIN=/usr/jdk/bin
   ENV PATH=$PATH:$JAVA_HOME/bin
   ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#切换工作目录到ROOT下
   WORKDIR /usr/tomcat/webapps/ROOT
#删除tomcat默认的项目文件
   RUN rm -rf *
#将自己的xxx.war系统添加到docker镜像中tomcat下的ROOT目录下
  ADD webapp /usr/tomcat/webapps/xxx.war
#公布tomcat的8080端口
  EXPOSE 8080
#启动tomcat
  ENTRYPOINT ["../../bin/catalina.sh","run"]

--------------------------------------------------------------------------------------------------------------------------------------------------------

7.通过Dockerfile来创建镜像

命令:   docker  build  -t  镜像名称:标签 Dockerfile位置

docker  build  -t  tms:1.0  .  (.代表当前目录)

8.至此就把Java Web系统制作成一个image,通过docker images来验证

9.通过刚构建镜像来启动一个Docker 容器

命令: docker run -d -p 宿主机映射端口:容器暴露端口 --name 容器名  镜像名称/镜像ID

-d 参数: 后端启动模式

-p 参数: 宿主机端口与容器端口的映射

--name 参数: 给容器起个别名

docker run -d -p 8081:8080 --name 容器名称  镜像name:镜像tag

10.通过docker ps -a来验证

Docker学习笔记三:Docker部署Java web系统的更多相关文章

  1. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  2. Docker学习笔记_10 docker应用 - 部署TOMCAT服务

    选择基镜像 基镜像使用dokcer hub官方提供的tomcat8 alpine当前最新版本,https://hub.docker.com/_/tomcat/ docker pull tomcat:8 ...

  3. Docker学习笔记三

    4.Docker数据管理 4.1.数据卷 数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似与Linux的mount行为. 特性: 数据卷可以在容器之间共事和重用,容器间传递 ...

  4. Docker学习笔记2: Docker 概述

    一.什么是Docker Docker是基于Go语言实现的云开源项目. Docker 的主要目标是:"Bulid,Ship and  Run Any App ,AnyWhere" , ...

  5. Docker学习笔记之Docker的数据管理和存储

    0x00 概述 数据是应用程序重要的产出,所以很好的管理和存储数据,是对应用程序劳动结果的尊重.特别是在大数据时代,所有的数据都是重要的资产,保护好数据是每个开发者必须掌握的技能.我们知道,在 Doc ...

  6. Docker学习笔记之Docker 的简历

    0x00 概述 在了解虚拟化和容器技术后,我们就更容易理解 Docker 的相关知识了.在这一小节中,我将介绍关于 Docker 的出现和发展,Docker 背后的技术.同时,我们将阐述 Docker ...

  7. DOCKER 学习笔记7 Docker Machine 在阿里云实例化ECS 以及本地Windows 实例化虚拟机实战

    前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的 ...

  8. DOCKER 学习笔记7 Docker Machine 建立虚拟机实战,以及错误总结

    前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的 ...

  9. DOCKER 学习笔记8 Docker Swarm 集群搭建

    前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...

随机推荐

  1. [BJOI2017]树的难题 点分治,线段树合并

    [BJOI2017]树的难题 LG传送门 点分治+线段树合并. 我不会写单调队列,所以就写了好写的线段树. 考虑对于每一个分治中心,把出边按颜色排序,这样就能把颜色相同的子树放在一起处理.用一棵动态开 ...

  2. spring源码-aop-5

    一.在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发 ...

  3. STM8在IAR中Printf的整形长度问题

    //ld是32位的 printf("up_intval:%ld\r\n",device_set.upload_tem); //d是16位的 printf("up_intv ...

  4. Entity Framework中执行Sql语句

           如果想在EF框架中执行Sql语句,其实很简单,EF里面已经提供了相关的方法(此处使用的EF为EF4.1版本).        EF中提供了两个方法,一个是执行查询的Sql语句SqlQue ...

  5. Jquery操作下拉列表和复选框,自定义下拉

    后半部分还有自定义下拉列表和开灯关灯的效果,可以进来来看一下 哦 如果网页有下拉列表和复选框,看一下Jquery怎么来操作他们,主要怎么来选取他们的数据,怎么设置某一项选中 先来看个下拉列表 < ...

  6. Sublime Text 3安装完美的Vim支持,ActualVim/NeoVim

    很多IDE和编辑器都有Vim插件用于支持Vim模式,但大多数都有些问题,拿我一直用的Idea来说,它的vim在ctrl+v后,选择多行的行前插入,如果这几行中有空行,它不会把空格算在内,所以最终是会少 ...

  7. nmap保存结果

    nmap 192.168.0.2 -oX D:\myscan.xml 参数解释: -oN <filespec> (标准输出) -oX <filespec> (XML输出) -o ...

  8. Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. 2.5星|《哈佛商学院管理与MBA案例全书》:书名太唬人了,依据中文经管书汇编整理而成

    哈佛商学院管理与MBA案例全书(套装十册) 看到最后,列出的参考书目中全部是中文经管书,才明白这本书不是哈佛商学院出版的,是国内的编辑做的汇编.参考书目中除了中文经管书之外,还有一套<哈佛商学院 ...

  10. 【Shell 开发】Shell 目录

    目录 [第一章]Shell 概述 [第二章]Shell 变量 [第三章]Shell 变量的数值计算 [第四章]Shell 条件测试表达式 [shell 练习1]编写Shell条件句练习 [shell ...