docker 简单安装java web项目
前言:
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项目的更多相关文章
- 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目
前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...
- 一个简单的Java Web项目搭建流程
今天试图在服务器上搭建一个web服务器,顺便回顾了java web项目的入门,使用Servlet处理HTTP请求,并记录日志等操作.当很久没有做过web项目时,有些东西还是很容易忘记的. Maven配 ...
- 一个简单的java web项目 仅实现添加
连接数据库已经进行判断 要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分 ...
- Linux(Centos)之安装tomcat并且部署Java Web项目
1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b ...
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...
- IDEA与Tomcat创建并运行Java Web项目及servlet的简单实现
创建Web项目 1. File -> New Project ,进入创建项目窗口 2.在 WEB-INF 目录下点击右键, New -> Directory ,创建 classes 和 ...
- Linux(Centos)之安装tomcat并且部署Java Web项目(转)
1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图: b ...
- Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目 ...
- java web 项目中 简单定时器实现 Timer
java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报 分类: JAVA(24) 版权声明:本文为博 ...
随机推荐
- 《Python绝技:运用Python成为顶级黑客》 Python实用小工具
1.实现简单探测 使用socket模块,connect()方法建立与指定IP和端口的网络连接:revc(1024)方法将读取套接字中接下来的1024B数据 mport socket import sy ...
- 【Java学习笔记】如何写一个简单的Web Service
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程: 1.系统条件: Eclipse Java EE IDE for Web De ...
- day 66 crm(3) 自创组件stark界面展示数据
前情提要: 接着上一节的.stark自创组件的展示效果编写 展示数据 一:按照默认自带数据展示 即无一对一,一对多 1:先获取queryset对象 2:获取当前操作模型表对象数据 注意:list_d ...
- ffmpeg开发基础知识
1.音频采集 面临的问题:延时敏感,噪声消除,回声消除,静音检测 主要参数: 采样率,位宽,声道数,音视频帧 采样率: 也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它 ...
- python3模块: json & pickle
概念: 序列化(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...
- 【apio2007】【ctsc2007】 数据备份 贪心+链表+堆
题目大意:有n个点,k条链,每个点离原点有一定的距离.要你用k条链连接2k个点,使得k条链的长度最短. 首先每次肯定是链相邻的2个点,所以我们先把相邻2个点的差值求出来,得到有n-1个数的数列. 然后 ...
- 使用Jacob操作Wrod文档的工具类代码
一.需要有jacob的jar包支持 import java.util.Iterator; import java.util.List; import java.util.HashMap; import ...
- (转)浅谈MySql的存储引擎(表类型)
原文:http://www.cnblogs.com/lina1006/archive/2011/04/29/2032894.html 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到 ...
- 第11章—使用对象关系映射持久化数据—SpringBoot+SpringData+Jpa进行查询修改数据库
SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用 ...
- Google Guava--Guava新增集合
Multiset Multiset 虽然带了个set但是却允许重复元素,与set相同的是不保证元素顺序. 使用场景:获取文章中单词的出现次数 String[] wordArr = new String ...