zoukankan      html  css  js  c++  java
  • Docker简介

    虚拟化技术

    如果说主机时代比拼的是单个服务物理性能(如CPU,内存)的强弱,那么云时代,最为看重的则是通过虚拟化技术所构建的集群的处理能力。
    虚拟化技术是指将计算机的物理资源进行抽象,封装成一个个独立的分区,每一个分区可运行不同的操作系统,分区之间相互隔离,又可共享计算机的物理资源。
    广义来说,虚拟化技术都是基于软件来实现的。常见的虚拟化产品 有VirtualBox、KVM(腾讯云)、VMware Workstation和VMware ESX(它在其4.0版,被改名为VMware vSphere)、Xen(阿里云)

    Docker虚拟化技术

    docker是一个应用程序,用go语言编写,基于Linux容器(LXC)设计思想。简单来说,Docker容器可以理解为一种轻量级的沙盒,每一个沙盒内运行着自己独有操作系统或者应用程序,相互隔离,容器之间可以通过网络互相通信。
    docker容器的特点:轻量、简单、易于管理、易于迁移。
    举一个例子,假设现在需要搭建一个LAMP(Linux+Apache+Mysql+Php)的环境,按照传统做法,需要先安装Linux的操作系统,而后在操作系统中安装相关软件,再然后才能将web网站放到服务器上面运行。如果使用docker来实现,大致需要2步,拉取一个LAMP的Docker镜像,启动一个docker并配置web网站部署包所在文件夹到docker的映射路径。不用去关注基础组件的安装和维护,Docker镜像已经为我们做了这些。

    Docker虚拟化技术和虚拟机(VM)对比

    • 虚拟机运行在虚拟硬件上, 应用运行在虚拟机内核上。而 docker daemon 是宿主机上的一个进程, 应用只是 docker daemon 的一个子进程, 换句话说, 应用直接运行在宿主机内核上

    • 虚拟机需要特殊硬件虚拟化技术支持, 因而只能运行在物理机上。docker 没有硬件虚拟化, 因而可以运行在物理机、虚拟机, 甚至 docker 容器内(嵌套运行)

    • 因为没有硬件虚拟化及多运行一个 Linux 内核的开销, 应用运行在 docker 上比虚拟机上更轻、更快

    Docker核心组件

    镜像

    Docker镜像可以看做是一个部署包,类似web程序的部署包。是一种特殊的文件系统,内部包含了容器运行时需要的操作系统或程序或库或静态文件,还包含了容器运行时需要的配置参数(如环境变量,用户等)。镜像在构建完成之后,内容就是固定了的,不会被修改。

    仓库

    Docker仓库就是存方Docker镜像的空间,并提供专门的上传和下载功能

    容器

    Docker容器是一个从Docker镜像创建的实例,可以理解为一个运行着的应用程序,这个应用程序有可能是一个运行着的linux操作系统,也可能是一个Nginx服务。Docker容器能够根据镜像创建实例并对外提供资源和服务,得益于Docker引擎,目前Docker引擎有两种,一个是CE(社区版)一个是EE(企业版)。

    Docker入门

    使用LinuxMint演示

    • 安装
    sudo apt  install  docker.io
    
    
    • 验证是否安装成功
    sudo  docker info 
    
    

    • 拉取hello-world镜像
    sudo docker pull  hello-world 
    
    

    • 查看本地镜像列表
    sudo  docker  image   ls 
    
    

    • 运行hello-world
    sudo   docker run  hello-world
    
    

    关于hello-world镜像的介绍已经在终端中打印出来了。

    引用

    知乎: https://www.zhihu.com/question/27561972
    书籍:《Docker技术入门和实践》
    博客: http://jm.taobao.org/2016/05/12/introduction-to-docker/

  • 相关阅读:
    正则表达式学习
    《代码整洁之道》阅读笔记
    PHP手册阅读笔记(一)——XXX
    2014年终总结和2015年规划
    linux之帮助命令——help,man,whereis简介
    企业中git管理代码的基本流程
    推荐几款画韦恩图的在线工具
    HTTPContent-Type的含义
    s s
    asp.net core ServiceProvider
  • 原文地址:https://www.cnblogs.com/Naylor/p/13410208.html
Copyright © 2011-2022 走看看