最近在学习docker,顺便写点笔记。

简介

什么是docker
docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。如果出现的故障,可以通过镜像,快速恢复服务。

原理
docker是利用Linux内核虚拟机化技术(LXC),提供轻量级的虚拟化,以便隔离进程和资源。LXC不是硬件的虚拟化,而是Linux内核的级别的虚拟机化,相对于传统的虚拟机,节省了很多硬件资源。

NameSpace

LXC是利用内核namespace技术,进行进程隔离。其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。

Control Group

LXC利用的宿主机共享的资源,虽然用namespace进行隔离,但是资源使用没有收到限制,这里就需要用到Control Group技术,对资源使用进行限制,设定优先级,资源控制等。

优点
1、简化程序:
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

2、避免选择恐惧症:
如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

3、节省开支:
一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

安装

环境:window10专业版 or window10教育版
(win10家庭版和旗舰版是没有hyper-v的,有些同学的专业版也没有hyper-v,可以装教育版)
win7的同学建议装个win10 专业版,因为后面你会发现很多坑…
如果你坚持,请装Docker Toolbox

第一步:启用Hyper-v

打开“控制面板” => “程序和功能” => “启用或关闭windows功能” => 勾选Hyper-v

lxc 容器 LXC容器安装docker_lxc 容器


第二步:安装docker for windows

Docker Community Edition for Windows

lxc 容器 LXC容器安装docker_docker_02


下载双击安装就可以了安装完成后输入在终端docker version可以看到如下表明安装成功

lxc 容器 LXC容器安装docker_虚拟化_03


第三步:设置国内的源

找到任务栏的小鲸鱼图标

lxc 容器 LXC容器安装docker_docker_04

单击右键,选择“setting”,输入以下信息

(我这里填写了网易的源,和docker中国官方源)

lxc 容器 LXC容器安装docker_docker_05


第四步:试一试

输入命名“docker run hello-world”可以加载测试镜像来测试。,如下图:

lxc 容器 LXC容器安装docker_lxc 容器_06


这就表明安装成功了!