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. 三、Django安装和流程

    一.MVC模式 MVC(Model-View-Controller),中文名“模型-视图-控制器”,是一个好的Web应用开发所遵循的模式,它有利于把Web应用的代码分解为易于管理的功能模块. M:Mo ...

  2. QQ在线交谈一句代码搞定

    现在有很多网页都有QQ在线咨询,还有什么QQ客服什么的,看着很高大上的一个功能,其实要实现很简单,只需要一句代码就搞定. 还是按以前的套路,先看效果图,再晒源代码 点击图标 再点击 就可以聊天了 再来 ...

  3. vscode eslint格式化配置

    { // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize &qu ...

  4. 关于Python的装饰器(1)

    Python的装饰器的概念,一直有点微妙.之前在StackOverflow上看过一篇感觉说明的很清楚的介绍: *A decorator must accept a function as an arg ...

  5. vue异步分页+初始化页面

    html代码: <section class="container page-home"> <div id="main-content" cl ...

  6. JY播放器【QQ音乐破解下载】

    今天给大家带来一款神器----JY播放器.可以直接下载QQ音乐的歌曲. 目前已经支持平台(蜻蜓FM.喜马拉雅FM.网易云音乐.QQ音乐) 使用方法: 在网页打开QQ音乐网站找到你要听的歌曲或歌单.复制 ...

  7. Linux 深入理解inode/block/superblock

    基础命令学习目录首页 原文链接:https://blog.csdn.net/Ohmyberry/article/details/80427492 档案系统特性 传统的磁盘与档案系统之应用中,一个分割槽 ...

  8. Python 装饰器Decorator(一)

    (一) 装饰器基础知识 什么是Python装饰器?Python里装饰器是一个可调用的对象(函数),其参数是另一个函数(被装饰的函数) 假如有一个名字为somedecorator的装饰器,target是 ...

  9. CF刷刷水题找自信 2

    CF 1114A  Got Any Grapes(葡萄)? 题目意思:给三个人分葡萄,三个人对葡萄的颜色有一些要求,问所准备的三种颜色的葡萄能否满足三人的要求. 解题意思:直接按条件判断即可. #in ...

  10. multipart/form-data post 方法提交表单,后台获取不到数据

    这个和servlet容器有关系,比如tomcat等. 1.get方式 get方式提交的话,表单项都保存在http header中,格式是 http://localhost:8080/hello.do? ...