导读最近想我们的应用需要更新维护,Android、IOS、还有服务器端都要更新,都在忙于写代码没有写文章了。我们的服务器是用java ssh架构的,到时也打算切换成Spring MVC+oauth2,今天有空,就把之前搞的搭建服务器环境的给大家看看,研究一下了。

1、Docker是一个基于是基于应用层的一个服务软件,目前它是用于搭建服务器开发用的,学习android\IOS开发的用不上,当然不排除以后可以用在手机上,所以你要学习一下也没有问题。

2、docker是一个软件,透过Docker,我们可以运行不同的容器环境,就是类似平时的虚拟机一样,如vmware、virtual box,这些虚拟机软件,可以在操作系统上安装,然后可以让我们搭建出不同的操作系统,那既然有了虚拟机软件,为什么要用docker呢?有很多原因,对于开发者而言,我们的答案基本是统一的,我可以在服务器快速搭建出生产环境,并且快速的复制到其他的服务器。下图是我把Docker的原理画了出来。

3、Docker 是扩展了 Linux 容器(Linux Containers),而LXC提供了一套统一的API和工具来建立和管理container,这样Docker可以利用这些高级API提供了一个轻量级的虚拟环境。一个 Docker 容器并不是像虚拟机那样独立占用一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的,比如有100个容器,它们彼此之间是利用同一个操作系统的内核的;下面我们来介绍如何安装环境。

安装Docker

根据我刚才分析的,其实就是安装软件。由于不同的操作系统可能会有点不一样,这个大家可以自行找一下资料,我这个是Ubuntu系统的,对了,还有注意是Linux操作系统要64位的而且还有要注意的是Docker需要在Linux Kernel 3.8及以上

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '
$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
Docker的一些指令
查看版本信息
docker version
获取镜像
docker pull ubuntu:latest
查看本地镜像
docker images
查看镜像运行情况
docker images ubuntu
在容器下运行 shell bash
docker run -i -t ubuntu /bin/bash
停止容器
docker stop
下载镜像

镜像我们可以到官网看看有哪些镜像

https://hub.docker.com/explore/
我这里以ubuntu为例:

  • pull代表下载,
  • ubuntu表示镜像,
  • ":latest"表示最后一个版本,其实就是最新的版本。
docker pull ubuntu:latest

不得不说,下载超级慢,有时可能也下载不了的,我也是折腾了一个下午才搞定的,解决办法可以通过建立私有库,docker registry具体网址:

https://github.com/docker/docker-registry

这里暂时就不作介绍了,大家可以自行研究;安装好后,输入:

docker images

就知道有没有下载到本地了,如下图

启动容器

加入shell,输入如下命令

docker run -i -t ubuntu:latest /bin/bash


这时看到控制台的已经换成容器的命令行了。这样我们就可以安装我们的环境了。

docker ps –a               #列出所有的容器,包括已经退出的
退出容器

进入容器后,里面的操作都是新的操作,我们要退出直接输入 exit

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

基于Docker服务的java Web服务搭建的更多相关文章

  1. 基于Apache axis2开发Java Web服务

    1.安装配置axis2环境 1)下载axis2-1.4.1-war(发布webservice)和axis2-1.4.1-bin.zip(webservice调用使用的各种包) 下载好后把axis2-1 ...

  2. QCon技术干货:个推基于Docker和Kubernetes的微服务实践

    2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevOps构成的云原生席卷整个IT界.在近期举办的QCon全球软件开发大会上, ...

  3. "轻"量级 Java Web 服务框架漫谈

    博文太长了, 还是先说下概要: 框架"轻量"与否可以从两方面来看待: 1) 框架本身的体量 - 例如小 jar 无依赖的苗条框架; 2) 用户使用框架是否获得各种便利而无阻隔(&q ...

  4. Intellij IDEA Java web 项目搭建

    Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...

  5. Java web 项目搭建

    Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring+Hibernate的架构搭建一个 ...

  6. Intellij IDEA工具Java web 环境搭建

    Java web 环境搭建 环境依赖 操作系统:Windows 7 64位 开发工具:IntelliJ IDEA 13.1.4 开发工具依赖环境 JDK版本:1.7+ 开发工具依赖插件 包管理:Mav ...

  7. JAVA web环境搭建(使用Tomcat8整合httpd)

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Tomcat并整合httpd的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查 ...

  8. Java Web 环境搭建步骤(超详细,包括前期安装步骤)

    Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cm ...

  9. 关于WCF的引用,添加服务和添加web服务的区别

    原文:关于WCF的引用,添加服务和添加web服务的区别 本章内容主要是根据我做的实验来阐述这2种添加服务针对WCF的不同之处,我们按照示例一步一步来看. 如下是工程的结构: 该WCF服务是通过控制台程 ...

随机推荐

  1. AudioPolicyManager::setDeviceConnectionState 流程(一)

    当有线耳机插入/拔出或蓝牙耳机的插入/拔出等,这些事件都会引起Audio Route的重新配置.重新配置的过程实在AudioPolicyManager::setDeviceConnectionStat ...

  2. Java基础 —— CSS

    CSS:层叠样式表(Cascading Style Sheets) --> 提高显示功能,定义样式 html提供了div与span,只为了封装文本数据,div为一行数据,span为行内的数据. ...

  3. C++Bulder DataSnap 内存泄露元凶

    DSServerClass1 DSServerClass1DestroyInstance void __fastcall TServerContainer1::DSServerClass1Destro ...

  4. oracle学习 七 拼接变量+日期函数(持续更)

    select count(KEYCODE) from STHSGDOC.ZJSJJL where ysrq=to_date(to_char(sysdate,'yyyy')||'/1','yyyy/MM ...

  5. Qt Creator无法用“UTF-8”编码解码

    在Qt Creator 里打开其他编辑器的代码时有时会提示: 无法用"UTF-8"编码解码     在文件上右键使用NotePad++编辑器打开:     选择->格式-&g ...

  6. 第二次作业----自学c++的选择与计划

    1.选择慕课网进行学习的原因 由于本来寒假是打算学习java的(如上篇随笔所言),所以向之前已经自学的同学问如何找教学视频,他就向我推荐了慕课网,在看了几集java的教学视频之后觉得慕课网挺好用的,所 ...

  7. HDU 5821 Ball (排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5821 有n个盒子,每个盒子最多装一个球. 现在进行m次操作,每次操作可以将l到r之间盒子的球任意交换. ...

  8. mongodb索引操作

    创建索引 db.table.ensureIndex({name:1}) 创建联合索引 db.table.ensureIndex({"table.name":1,"tabl ...

  9. Weka EM 协方差

    Weka EM covariance description 1: Dear All, I am trying to find out what is the real meaning of the ...

  10. linux TCP数据包重传过程----小结

    于TCP/IP协议栈的TCP协议的重传功能是由在linux内核源码(net/ipv4/tcp_output.c)中的函数tcp_retransmit_skb()实现的 代码如下: /* This re ...