lx86 发表于 2019-2-20 10:06:40

初识docker容器

  容器的概念
  1、什么是容器
  轻量级的操作系统虚拟化解决方案, 能够在Linux系统上迅速创建一个容器(类似于虚拟机)并在容器上部署和运行应用程序,同时还可以通过配置文件轻松将应用程序的自动化安装、部署和升级。
  基于Linux容器(LXC)技术,利用namespace的隔离机制隔离资源和cgoup的限额功能进行资源管理。
  2、容器VS虚拟机

http://s1.运维网.com/images/20181129/1543469259191022.png
  Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
  

  虚拟机运行在Hypervisor上,然后才app运行环境。而容器则使用Docker Engine代替了Hypervisor,并且执行提供app运行环境。

  3、与虚拟机相比容器的优点
  更快速的交付和部署
  更高效的部署和扩容
  更高资源利用率
  更简单的管理
  4、docker的组件
  http://s1.运维网.com/images/20181129/1543470441335543.png
  
  container:容器
  image:镜像
  network:网络
  data volumes:文件卷管理,提供数据持久化
  data volumes


[*]  在容器创建的时候初始化
[*]  作为文件系统的一部分,但是不受Union File System的管理;
[*]  便于持久化存储数据和共享数据
[*]  Data volumes的数据是持久化的,删除容器不影响Data volumes的数据
[*]  对Data volumes的操作立刻直接生效
[*]  可以在多个容器之间共享
根据Data volumes定义的方式不同,可以分为如下3种:

[*]  Dockerfile中定义的固定Data volumes
[*]  docker run -v定义的临时Data volumes
[*]  docker run --volumes-from定义的公共共享Data volumes
[*]
  API函数,操作系统除了协调应用程序的执行、内存分配、系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数),可以帮助应用程序达到开启视窗、描绘图形、使用周边设备的目的,由于这些函数服务的对象是应用程序(Application),所以称之为Application Programming Interface,简称API函数

  

  5、docker常见的架构
  http://s1.运维网.com/images/20181129/1543471368142494.png
  

  

  docker常用操作:
  docker images查看镜像
http://s1.运维网.com/images/20181129/1543473215327755.png
  docker pull tomcat   拉取tomcat镜像

http://s1.运维网.com/images/20181129/1543473287970993.png
  docker run -it-d -p 888:8080 tomcat:latest   将我们下载tomcat运行 -p 将本地888端口映射给tomcat8080端口使用
http://s1.运维网.com/images/20181129/1543475482229348.png
  进入网页访问
http://s1.运维网.com/images/20181129/1543475661360017.png
  以上资料来自华为云相关教程,仅供学习。



页: [1]
查看完整版本: 初识docker容器