前言:

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

1、Docker 安装

   前提条件:

Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

通过 uname -r 命令查看你当前的内核版本:

 

1.1、切换到root用户,执行下apt-get update 将apt-get更新到最新版本

1.2、使用apt-get install -y docker.io 下载docker

1.3、下载好docker后,可以使用docker version查看docker版本:

  

1.4 如果1.3中提示无法连接到docker deemon,可以使用service docker start 启动docker服务

 1.5 测试运行hello-world

  

  出现上图结果,表名ubuntu docker安装成功

  2、下载tomcat镜像

  2.1 使用 docker images 来列出本地主机上的镜像

     

    各个选项说明:

      1)REPOSITORY:表示镜像的仓库源

      2)TAG:镜像的标签

      3)IMAGE ID:镜像ID

      4)CREATED:镜像创建时间

      5)SIZE:镜像大小

    同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如tomcat仓库源里,有7.0、8.0等多个不同的版本,我们使用 REPOSITORY:TAG 来定

    义不同的镜像。如果你不指定一个镜像的版本标签,将默认使用 latest 版本

  2.2 使用 docker pull 命令来下载(鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像

    地址:https://c.163.com/hub#/m/home/

    

  2.3 再使用 docker images 查看本地的docker 镜像

    

3、制作镜像

  3.1 在用户目录下,创建docker目录,在docker目录下,创建一个images目录:

   

  3.2 将java web工程打包成war文件,导出方法可参考:https://blog.csdn.net/gaohuanjie/article/details/52354367

     楼主导出的war文件为seckill.war,然后放到images目录下

  3.3  在docker目录下,创建一个Dockerfile文件。文件内容如下:

    

    1、FROM,指定使用哪个镜像源

    2、MAINTAINER ,指定所有者及邮箱(也可以不写)

    3、COPY ,将本地文件(seckill.war)拷贝到tomcat/webapps下

  3.4  通过 docker build 命令来构建一个镜像

    

    参数说明:

      1)-t  指定要创建的目标镜像名(这里指定镜像名为seckill,tag为0.0.1)

      2). Dockerfile 文件所在目录

   3.5 使用docker images 查看创建的镜像已经在列表中存在,镜像ID为8eeedbd84830

     

4、运行容器

  4.1 使用 docker run 命令来在容器内运行一个应用程序:

    

    参数说明:

      1)-d  后台运行容器,并返回容器ID (下面的893b开头的id就是容器id)

      2)-p  是容器内部端口绑定到指定的主机端口(这里是docker中tomcat的8080映射到主机的8888端口)

   4.2 使用 docker ps 列出容器

    

    可以看到容器中有seckill镜像,容器id取的4.1中返回值的前12位

    4.3 在浏览器中访问8888端口:

    

      可以正常访问我们的查询列表,表示我们的seckill镜像在容器中运行正常

  docker更多指令可参考:http://www.runoob.com/docker/docker-command-manual.html

docker 简单安装java web项目的更多相关文章

  1. 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目

    前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...

  2. 一个简单的Java Web项目搭建流程

    今天试图在服务器上搭建一个web服务器,顺便回顾了java web项目的入门,使用Servlet处理HTTP请求,并记录日志等操作.当很久没有做过web项目时,有些东西还是很容易忘记的. Maven配 ...

  3. 一个简单的java web项目 仅实现添加

    连接数据库已经进行判断 要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分 ...

  4. Linux(Centos)之安装tomcat并且部署Java Web项目

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  5. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  6. IDEA与Tomcat创建并运行Java Web项目及servlet的简单实现

    创建Web项目 1. File -> New Project ,进入创建项目窗口 2.在 WEB-INF 目录下点击右键, New -> Directory ,创建  classes 和  ...

  7. Linux(Centos)之安装tomcat并且部署Java Web项目(转)

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  8. Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署

    一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...

  9. java web 项目中 简单定时器实现 Timer

    java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报  分类: JAVA(24)  版权声明:本文为博 ...

随机推荐

  1. 在vs 调试进程中找不到 w3wp.exe 进程

    问题如图所示: 解决办法: 1. 启动iis(internet information services)服务. 2. 打开左侧网站列表=> 右键点击自己配置的网站 => 点击管理网站 = ...

  2. JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice

    JEECG系列教程二 如何在JEECG框架下使用webservice 本文所使用的webservice是c#开发的 其实无论是什么语言开发的webservice用法都一样 java springmvc ...

  3. laravel5的Bcrypt加密方式对系统保存密码的小结

    laravel5文档介绍 //对 A 密码使用Bcrypt 加密 $password = Hash::make('secret'); //你也可直接使用 bcrypt 的 function $pass ...

  4. Redis持久化————AOF与RDB模式

      1.        官方说明:  By default Redis asynchronously dumps the dataset on disk. This mode is good enou ...

  5. java入门——面向对象

    简介 对象具有自己的状态和行为: 描述一个对象具有什么状态和行为的过程叫做建模,不同的意图下我们对同一个事物的描述会产生不同的模型. 类 类描述一类对象的状态和行为的模板.可以把类想象成一个汽车设计图 ...

  6. Mac OS 10.12 - 安装Homebrew,像Ubuntu里面的apt一样简单地安装和删除软件!

    Homebrew — macOS 不可或缺的套件管理器,Homebrew官方网站如此介绍自己!!! 中文官网:https://brew.sh/index_zh-cn.html 一,安装 打开shell ...

  7. maven項目創建紅叉

    出现问题的原因: 解决方案: 在pom.xml中配置jdk的版本

  8. 队列的实现——c++

    一.介绍 队列(Queue),是一种线性存储结构.它有以下几个特点:(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的.(02 ...

  9. SpringBoot程序远程debug

    所谓的远程调试就是服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内 ...

  10. git修改文件权限方式

    查看Repository中文件权限 git ls-tree HEAD 100644 blob 018321abfbff52d175a788597f5b5f3f17f67dc7 .gitignore 1 ...