由于公司里测试服务器时常会有变动,每次变动之后都需要在新的服务器上配置一遍环境,实在是麻烦。后来我突然想到了在网上看到的资料中说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. Android弹出Dialog使用举例

    Android详细的对话框AlertDialog.Builder使用方法 7种形式的Android Dialog使用举例 第30章.常见对话框之一AlertDialog(从零开始学Android)

  2. ionic简单路由及页面传参

    1)页面跳转及传参方法 angular.module('app.routes', [])//routes路由模型 .config(function($stateProvider, $urlRouter ...

  3. nutch爬取时Exception in thread “main” java.io.IOException: Job failed!

    用cygwin运行nutch 1.2爬取提示IOException: $ bin/nutch crawl urls -dir crawl -depth 3 -topN 10 crawl started ...

  4. Effective C++ —— 让自己习惯C++(一)

    条款01 : 视C++为一个语言联邦 C++ == C(C基本语法) + Object-Oriented C++(类,封装,继承,多态……) + Template C++(泛型编程) + STL(容器 ...

  5. pycharm激活地址

    http://elporfirio.com:1017 http://idea.iteblog.com/key.php

  6. 【转】Go Channels

    转自: http://kdf5000.com/2017/07/16/Go-Channels/ Golang使用Groutine和channels实现了CSP(Communicating Sequent ...

  7. HTTP/2笔记之开篇

    前言 本系列基于HTTP/2第17个草案文档,地址就是:https://tools.ietf.org/html/draft-ietf-httpbis-http2-17. HTTP/2规范已经通过发布批 ...

  8. js的字符串charAt()方法

    //字符中的字符从左向右进行索引,由0开始,字符串中的空格也算在内 var string = "charAt find word position"; document.write ...

  9. 素数测试算法(基于Miller-Rabin的MC算法) // Fermat素数测试法

    在以往判断一个数n是不是素数时,我们都是采用i从2到sqrt(n)能否整除n.如果能整除,则n是合数;否则是素数.但是该算法的时间复杂度为O(sqrt(n)),当n较大时,时间性能很差,特别是在网络安 ...

  10. 用 Fiddler查看 Android 网络请求

    1. 下载安装 fiddler,尽量到官方网站找最新的版本 备注:安装后,打开的时候如果报错: Machine-wide Progress Telerik Fiddler installation h ...