由于公司里测试服务器时常会有变动,每次变动之后都需要在新的服务器上配置一遍环境,实在是麻烦。后来我突然想到了在网上看到的资料中说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. JS怎样捕获浏览器关闭时间弹出自定义对话框

    <script type="text/javascript">window.onbeforeunload = function (e) { e = e || windo ...

  2. mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?

    需求描述: mysql数据库通过mysql_install_db初始化数据目录时,使用了--user选项,这里记录下该参数的作用 参数解释: 1.--user的作用:就是以哪个操作系统用户来执行mys ...

  3. 使用select多选标签笔记

    之前一直用checkbox做多选,其实 select也可以多选,只要多给一个属性即可.标签属性 http://www.w3school.com.cn/tags/att_select_multiple. ...

  4. Unity鼠标点击Collider

    void OnGUI() { if (Event.current != null && Event.current.type == EventType.mouseDown) { )) ...

  5. 内存监测工具 DDMS --> Heap

    无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中的DDMS就带有一个很不错的内存监测工具Heap(这 ...

  6. Django学习笔记 Django的工程目录

    mysite├── manage.py 管理项目:包括数据库建立.服务器运行.测试……└── mysite    ├── __init__.py     ├── settings.py 配置文件:应用 ...

  7. poj_1236 强连通分支

    题目大意 有N个学校,这些学校之间用一些单向边连接,若学校A连接到学校B(B不一定连接到A),那么给学校A发一套软件,则学校B也可以获得.现给出学校之间的连接关系,求出至少给几个学校分发软件,才能使得 ...

  8. MQTT-SN协议乱翻之小结篇

    前言 这里简单做一些小结和对比,针对前面的协议翻译部分,一阶段的学习完结. MQTT-SN VS MQTT MQTT-SN基于MQTT原有语义,但做了很多的调整.比如: 一个CONNECT消息被拆分为 ...

  9. css选择器的性能

    性能排序: 1.id选择器(#myid) 2.类选择器(.myclassname) 3.标签选择器(div,h1,p) 4.相邻选择器(h1+p) 5.子选择器(ul < li) 6.后代选择器 ...

  10. 在MacOS上搭建Vulhub漏洞平台环境

    一.安装python3和docker brew install python3 brew cask install docker sudo pip3 install docker-compose 二. ...