一、什么是docker

Docker是一个使用 Go 语言开发的,并且开源的应用容器引擎,基于LXC(Linux Container)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、Dockerfile等;

Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版的Docker引擎上,使用沙箱机制运行程序,程序之间相互隔离;

Docker采用C/S架构,Dcoker daemon作为服务端接受来自客户端请求,并处理这些请求,比如创建、运行容器等;客户端为用户提供一系列指令与Docker Daemon交互;

二、Docker 优点与虚拟机的区别

1、容器共享宿主机内核,系统级虚拟化,占用资源少。docker有着比虚拟机更少的抽象层,由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源,因此,在CPU,内存利用率上,docker将会在效率上更有优势;

2、启动docker的系统代价比启动一台虚拟机的代价要低得多;无论是从启动时间还是从启动资源消耗的角度来说,docker直接利用宿主机的系统内核,避免了虚拟机启动时所需要的系统引导时间和操作系统运行的资源消耗,利用docker能在几秒钟之内启动大量的容器,这是虚拟机无法办到的,快速启动,低资源消耗的优点使得docker在弹性云平台和自动运维系统方面有着很好的应用前景。

4、docker由于与虚拟机共享内核和操作系统等资源,属于进程级别隔离(namespace和Cgroups)。而虚拟机会通过Hypervisor虚拟对应的操作系统和硬件,属于系统级别隔离。由于共享宿主机内核,只是进程级隔离,因此隔离性和稳定性不如虚拟机,容器具有一定权限访问宿主机内核,存在一定安全隐患。

5、资源给方面不如虚拟机,docker是利用cgroup实现资源隔离的,只能限制资源消耗的最大值,而不能隔绝其他应用程序占用自己的资源;资源给方面不如虚拟机,docker是利用cgroup实现资源隔离的,只能限制资源消耗的最大值,而不能隔绝其他应用程序占用自己的资源;

三、docker 安装

1、配置加速镜像源:
[root@bogon ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
yum install container-selinux

yum remove docker docker-common docker-selinux docker-engine -y

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

2、安装docker

yum install docker-ce-17.06.2.ce-1.el7.centos --需要限定版本要不可能安装报错

最新文章

  1. 2-MySQL数据库编码uft-8
  2. document.body.clientHeight和 document.documentElement.clientHeight 的区别
  3. unity3d Light Probe Group图解超详细使用方法
  4. python程序中自启动appium服务
  5. js createElement
  6. List<T>分组一
  7. Linux sed命令删除指定行
  8. 算法一之N皇后问题
  9. C3P0 APPARENT DEADLOCK
  10. [COGS2701]:动态树
  11. fork项目适合全局替换注释说明
  12. beautifulSoup使用
  13. Jetty 与 Tomcat 的比较
  14. 手机端点击复制链接到剪切板(以及PC端)
  15. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
  16. vue-compile概述
  17. java socket 之UDP编程
  18. Creating Physical Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE执行结果
  19. Unity系统自带函数生命周期以及相互关系
  20. 非侵入式Ajax

热门文章

  1. 使用Hot Chocolate和.NET 6构建GraphQL应用(3) —— 实现Query基础功能
  2. Spring专题1: 静态代理和动态代理
  3. Linux配置 ElasticSearch
  4. iBooker AI+财务提升星球 2020.4 热门讨论
  5. React Transition css动画案例解析
  6. 编译安装haproxy
  7. 使用代码绑定 DataGridView 控件用于程序界面显示表格
  8. 关于git和SVN的介绍和区别
  9. 硬件安全学习–RFID / Hardware security learning – RFID
  10. 《操作系统导论》第14章 | 内存操作API