由于公司里测试服务器时常会有变动,每次变动之后都需要在新的服务器上配置一遍环境,实在是麻烦。后来我突然想到了在网上看到的资料中说Docker能快速部署可移植的容器,所以我就试着用Docker搭建了Tomcat和Oracle的测试环境。所以本篇以实战为主,主要讲Docker的一些基本概念和常用的命令。

Docker的实现原理

原本我想在这里先介绍一下Docker,但是似乎网上已经有大量的信息的,建议对Docker不是很了解的人先看一下百度百科_Docker词条的“原理”部分,所以这里就不再阐述。

准备工作

Linux用户

如果你是linux用户,只要Linux kernel大于3.8就没问题了,再关闭系统的selinux组件,用你系统里的包管理工具(apt-get、yum等)直接安装Docker就行了。比如在CentOS中只要使用yum install docker-io就可以一键安装完docker。

 
1、禁用selinux
由于selinux和LXC(Docker实现虚拟化的方式)有冲突,所以需要禁用selinux。编辑/etc/selinux/config,设置两个关键变量。 

SELINUX=disabled 
SELINUXTYPE=targeted

 
  • 2、安装docker

Ubuntu/debian 使用apt-get install docker-io

CentOS/REHL 则使用yum install docker-io

 
  • Windows或Mac用户
 
因为Docker并没有直接支持这两个系统,所以不能直接安装Bocker,但是我们可以通过Boot2docker这款工具让我们的系统间接支持。
首先你需要先安装一个virtualbox,这个是为安装Boot2docker做准备的,点virtualbox官网下载页面,进入后选择你系统对应的版本并安装。
进入到Boot2docker官网,下载自己系统对应版本的Boot2docker安装包,安装完之后,在你的程序列表里应该能看到boot2docker图标了。
 
注:如果你是Mac用户,虽然你也可以使用brew安装Boot2docker,不过还是不建议你那样做,因为我用brew安装了Boot2docker后,并没有创建图标,需要你使用Boot2docker的初始化命令来启动Boot2docker。如果你已经这样做了,可以先用brew卸载Boot2docker,然后删除用户目录下的.boot2docker目录,再打开Virtualbox删除boot2docker-vm虚拟机(如果没有则不用删除)。然后你就可以通过安装包来安装Boot2docker了。
 
为了避免你在后面使用中产生混乱,这里我先说一个boot2docker的实现原理。boot2docker是在你的系统里创建一个linux的虚拟机,这个虚拟机已经安装好了docker,所有的docker相关的操作都是在这个虚拟机进行的。你可以使用这下这条命令来看到虚拟机的IP地址。通常ip地址应该是192.168.59.103。
echo $DOCKER_HOST
 
  • 测试是否已成功安装Docker
测试方式比较简单,打开boot2docker程序,会打开了一个终端,输入下面的命令后,得到的是一段以“Hello from Docker”开头的介绍信息,则说明安装没问题了。
docker run hello-world

Docker学习笔记(一):在本地安装和配置Docker的更多相关文章

  1. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  2. Docker学习笔记【三】安装Redis

    项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 ...

  3. Docker学习笔记(1):CentOS7安装Docker

    Docker是一个基于Go语言实现的开源应用容器引擎,通过对应用组件的封装.分发.部署.运行等生命周期的管理,使程序及其运行环境能够做到"一次封装,到处运行". Docker架构 ...

  4. Git学习笔记(1)——安装,配置,创建库,文件添加到库

    初次接触git,为了记忆深刻,把学习的简单流程记录下来. 本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程. 1.Git的安装:(Ubuntu-Linux非常友好的安 ...

  5. docker学习笔记一:基本安装和设置容器静态ip

    docker是一个lxc升级版的容器类虚拟环境,具有快速部署,灵活,易迁移的虚拟机模式,现在各大公司已经开始广泛使用为了自己方便学习linux,需要多台虚拟机环境,但是vmware开启多台虚拟机时需要 ...

  6. Docker学习笔记一 概念、安装、镜像加速

    本文地址:https://www.cnblogs.com/veinyin/p/10406378.html  Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快 ...

  7. Vue 新手学习笔记:vue-element-admin 之安装,配置及入门开发

    所属专栏: Vue 开发学习进步 说实话都是逼出来的,对于前端没干过ES6都不会的人,vue视频也就看了基础的一些但没办法,接下来做微服务架构,前端就用 vue,这块你负责....说多了都是泪,脚手架 ...

  8. Appium学习笔记(一)--安装与配置

    移动自动化测试常用工具有两个:Appium和Robotium.正好最近自己开始负责客户端的工作,初来乍到需要熟悉下环境,正好学习新的东西. 移动自动化相对web来说,原理与操作过程是一样的,通过自动化 ...

  9. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

随机推荐

  1. 验证码显示不出来,在THINKPHP中的使用

    未开启 php_gd2设置 php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可: 1.在模块类中增加一个 verify 方法来用于显示验证码Public ...

  2. 【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监測EV3port数据

    在前两篇文章中,我们对iOS与EV3混合机器人编程做了一个主要的设想.而且介绍了要完毕项目所需的软硬件准备和知识准备. 那么在今天这一篇文章中,我们将直接真正開始项目实践. ==第一个项目: EV3 ...

  3. 开源 免费 java CMS - FreeCMS1.9 移动APP生成网站列表数据

    项目地址:http://www.freeteam.cn/ 生成网站列表数据 提取同意移动APP訪问的网站列表,生成json数据到/mobile/index.html页面. 从左側管理菜单点击生成网站列 ...

  4. Windows版Nginx启动失败之1113: No mapping for the Unicode character exists in the target multi-byte code page

    Windows版Nginx启动一闪,进程中未发现nginx进程,查看nginx日志,提示错误为1113: No mapping for the Unicode character exists in ...

  5. 新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用

    说到嵌入式,我们首先想到的,就是它的复杂程度,LINUX,BSP,UBOOT,交叉编译,寄存器配置,等等一系列的问题,甚至有的时候我们对此一头雾水,很是头疼,不过我们今天要说的就是关于NUC972的一 ...

  6. PyQt4工具栏

    工具栏 菜单对程序中的所有命令进行分组防治,而工具栏则提供了快速执行最常用命令的方法. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from ...

  7. PyQt4状态栏

    主窗口 QMainWindow类用来创建应用程序的主窗口.通过该类,我们可以创建一个包含状态栏.工具栏和菜单栏的经典应用程序框架. 状态栏是用来显示状态信息的串口部件. #!/usr/bin/pyth ...

  8. 学习JQuery - 10

    第四章 Styling and Animating 1. 使用内联属性修改CSS 我们知道HTML在onload时会读取css的各项值. 那么,我们能不能在之后的操作中改变css值呢? 答案是肯定的! ...

  9. 正则表达式—RegEx(RegularExpressio)(三)

    今日随笔,继续写一点关于正则表达式的 知识.前两天介绍了正则表达式验证匹配,提取等一些基本的知识,今天继续分享下它的另一个强大的应用:替换(replace). 开始之前,还是要补一下昨天的内容. 在我 ...

  10. 【BZOJ3312】[Usaco2013 Nov]No Change 状压DP+二分

    [BZOJ3312][Usaco2013 Nov]No Change Description Farmer John is at the market to purchase supplies for ...