zoukankan      html  css  js  c++  java
  • Docker 课前预习

    1.1 Docker 虚拟化技术概念

      Docker 是一款轻量级、高性能的虚拟化技术,是目前互联网使用最多的虚拟化技术,Docker 虚拟化技术的本质类似集装箱机制,最早集装箱没有出现的时候,码头上有许多搬运的工人在搬运货物,集装箱出现以后,码头上看到更多的不是工人,而且集装箱的搬运模
    式更加单一,更加高效,还有其他的好处。将货物多打包在集装箱里面,可以防止货物之间相互影响。并且到了另外一个码头需要转运的话,有了在集装箱以后,直接把它运送到另一个码头即可,完全可以保证里面的货物是整体的搬迁,并且不会损坏货物本身。
    Docker 技术机制跟集装箱类似,Docker 虚拟化 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    Docker 容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。Docker 应该是近年最火爆的技术之一,如果没有听说过,那么你就 out 了,2019 年将
    开启新的跨越。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用,Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。
      Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

    Docker 虚拟化技术概念&总结:

      Docker 虚拟化技术是在硬件的基础上,基于现有的操作系统层面上实现虚拟化,直接复用本地主机的操作系统,直接虚拟生成 Docker 容器,而 Docker 容器上部署相关的 APP 应用(Apache、MYSQL、PHP、JAVA)。

    传统虚拟化技术概念&总结:

      KVM、XEN、ESXI 传统虚拟化(完全、半虚拟化)是在硬件的基础上,基于现有的操作系统层面上实现虚拟化,但是不能复用本地主机的操作系统,而是必须虚拟出自己的 Guest OS 系统,然后在 Guest OS 系统上部署相关的 APP 应用(Apache、MYSQL、PHP、JAVA)。

    Docker 虚拟化跟传统 VM 比较具有如下优点:

    1、操作启动快:

      运行时的性能可以获取极大提升,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的

    2、轻量级虚拟化:

      你会拥有足够的“操作系统”,仅需添加或减小镜像即可。在一台服务器上可以布署 100~1000 个 Containers 容器。但是传统虚拟化,你虚拟 10-20 个虚拟机就不错了。

    3、开源免费:

      开源的,免费的,低成本的。由现代 Linux 内核支持并驱动。注* 轻量的 Container必定可以在一个物理机上开启更多“容器”,注定比 VMs 要便宜。

    4、前景及云支持;

      正在越来越受欢迎,包括各大主流公司都在推动 docker 的快速发展,性能有很大的优势。随着 Go 语言越来越被人熟知,Docker 的使用也越来越广泛。

    1.2 CentOS6.x(6.5+)Linux Docker 平台实战

      掌握了 Docker 虚拟化概念和原理之后,最重要的就是要在生产环节中落地 Docker,Docker 虚拟化平台最早期只支持 Linux 操作系统,现在最新版 Windows 操作系统也慢慢支持 Docker 虚拟化。
      本章节将选择不同的发行版本来构建 Docker 虚拟化平台,Linux 操作系统主流发行版本包括:Red Hat Linux、CentOS、Ubuntu、SUSE Linux、Fedora Linux 等,如下简要介绍即将部署 Docker 虚拟化平台的两个系统:CentOS 和 Ubuntu。
      Docker 官方要求 Linux 内核版本在 3.8+以上,生产环境中尽量推荐使用 3.10+的 Linux内核版本,Docker 从 1.13 版本起,采用时间线的方式作为版本号,Docker 版本现在基于YY.MM,分为社区版(Community Edition)和企业版( Enterprise Edition),社区版是
      免费提供给个人开发者和小型团体使用的,而企业版会提供额外的收费服务。社区版按照 Stable 和 Edge 两种方式发布,每个季度更新 Stable 版本,如 17.06,17.09,每个月份更新 Edge 版本,如 17.09,17.10。

    虚拟化&Docker 虚拟化技术本质的用途:

      为了最大化的利用高配物理机的资源,提高硬件设备服务器的资源利用率,淘汰一些老、旧服务器,对老、旧服务器进行资源的重组、重用,满足企业飞快的发展。虚拟化落地实施硬件设备选配上,尽量使用高配物理机资源,参考配置如下:

      服务器品牌:Dell R730、R820;
    
      CPU 配置:Intel 至强 E5-2600 系列;
    
      MEM 配置:ECC DDR3 256G;
    
      DISK 配置:SAS 12TB(最大支持 24T);
    
      NET 配置:Intel 四端口千兆网卡/双端口万兆网卡;
    1)安装步骤和命令如下:
    #安装 Epel 扩展源;
     yum install epel-release -y 
    #安装 Docker-io 版本;
     yum install docker-io lxc cgroup device-mapper* -y 
    #查 Docker 版本是否安装;
    rpm -qa|grep -E "docker|lxc|device-mapper" 
    #启动 Docker 引擎服务;
     service docker restart 
    #查看 Docker 服务进程; 
    ps -ef|grep docker
    2)查看 docker info 信息:
    docker info |more

    3)从Docker仓库下载Nginx镜像:

    docker pull nginx

    1.3 CentOS7.x(7.0+)Linux Docker 平台实战

    1)安装步骤和命令如下:
    #安装国内阿里源; 
    wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
     #安装 Docker-CE 版本;
     yum install docker-ce* -y 
    #查 Docker 版本是否安装;
     rpm -qa|grep -E "docker" 
    #启动 Docker 引擎服务;
    service docker restart systemctl restart docker.service 
    #查看 Docker 服务进程;
     ps -ef|grep docker

    2)查看docker info信息

    docker info |more

    3)从Docker仓库下载Nginx镜像:

    docker pull docker.io/nginx
  • 相关阅读:
    WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)
    linux:nohup 不生成 nohup.out的方法
    PHP系统编程--PHP进程信号处理(转)
    shell脚本实例总结
    saltstack 迭代项目到客户端并结合jenkins自动发布多台服务器
    自动化运维工具 SaltStack 搭建
    coding利用Webhook实现Push代码后的jenkins自动构建
    基于jquery地图特效全国网点查看代码
    基于jquery判断浏览器版本过低代码
    EntityFramework Model有外键时,Json提示循环引用 解决方法
  • 原文地址:https://www.cnblogs.com/suixinnan/p/14084640.html
Copyright © 2011-2022 走看看