精华内容
下载资源
问答
  • 容器化技术介绍

    2021-01-20 12:44:00
    容器化技术介绍 容器化技术的目的:快速对应用进行标准化部署 应用部署演化:物理机时代——虚拟机时代——容器化时代 物理机时代(单台物理主机,在这台物理机上需要安装一系列的应用部署安装和运行维护) 部署非常...
  • 容器化技术与容器服务准备docker环境安装检查安装docker基本操作MySQL与容器化 准备docker环境 安装 检查安装 docker基本操作 MySQL与容器化

    本次实验在VMWare虚拟机+Ubuntu20.04环境下完成。

    准备docker环境

    安装

    1. 配置docker的apt源

      $ sudo apt-get update
      $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

    2. 添加 Docker 的官方 GPG 密钥:
      1

    3. 将 Docker 的源添加到 /etc/apt/sources.list

      $ sudo add-apt-repository \ “deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable”

    4. 更新包索引,安装最新版本的Docker 引擎和容器

      $ sudo apt-get update
      $ sudo apt-get install docker-ce docker-ce-cli containerd.io

    检查docker安装

    结果如下图,证明已成功安装docker。
    2

    运行第一个容器

    3

    Docker 基本操作

    1. 运行镜像
      在这一步如果直接运行下述命令会导致下载速度十分缓慢。

      docker run -it ubuntu bash

      因此,参考博客重新配置了拉取的docker镜像仓库,配置后执行命令速度有显著提升。具体结果如下:
      4

    2. 显示本地镜像库内容
      5

    3. 显示运行中容器
      6

    4. 显示所有容器
      7

    5. 继续运行原容器并进入
      8

    MySQL与容器化

    拉取 MySQL 镜像

    1. 拉取 MySQL 镜像
      9
    2. 显示本地镜像库内容
      10
      由结果可见,已成功拉取 MySQL 镜像。

    构建docker镜像练习

    1. 创建dockerfile
      11
    2. 录入dockerfile
      12
    3. 构建镜像
      13
    4. 运行镜像
      14

    使用MySQL容器

    1. 启动服务器
      15
    2. 启动 MySQL 客户端
      16

    使用MySQL容器(挂载卷保存db)

    1. 数据库文件的位置
      17
    2. Dockerfile 的 VOLUME /var/lib/mysql 的含义
      18
      每次启动 mysql 容器,docker 创建一个文件卷挂载在容器内/var/lib/mysql位置。这个卷在主机(host)的 /var/lib/docker/volumes/ 目录下。
    3. 创建卷并挂载
      19
      将自己定义的数据卷挂载在 /var/lib/mysql下。
      20
    4. 启动客户端容器链接服务器
      21
      22

    Docker compose 与多容器应用自动化部署

    1. 下载:docker-compose(容器编排的原型)
      23
    2. 创建并编写:stack.yml
      24
      25
    3. 启动服务
      26
      27

    Docker网络

    管理容器网络

    28

    备制支持 ifconfig 和 ping 命令的 ubuntu 容器

    29

    $ apt-get install net-tools
    $ apt-get install iputils-ping -y

    30
    31

    启动另一个命令窗口,由容器制作镜像,并创建自定义网络

    32

    Docker 仓库(Registry)

    1. 访问 https://cr.console.aliyun.com,用淘宝注册一个账号,选择“容器镜像服务”。
    2. 完成上传 hello-world 镜像操作
      33
      查看仓库结果如下,可以看出上传成功。
      34

    容器监控与日志

    检查docker的状态

    命令如下:

    $ docker info
    $ docker info --format {{.ServerVersion}}

    结果如下:
    35
    (输出较长未全部截图)
    36

    查看容器内进程

    命令如下:

    $ docker top mysql2
    $ docker stats mysql2

    结果如下:
    37

    容器详细信息

    命令如下:

    $ docker inspect mysql2
    $ docker inspect -f ‘{{.NetworkSettings.IPAddress}}’ d098beec6b02

    结果如下:
    38
    39

    容器日志查看

    命令如下:

    $ docker logs d098beec6b02
    $ docker logs --tail 2 d098beec6b02

    结果如下:
    40
    41

    docker图形化管理工具

    单节点运行
    42
    43

    展开全文
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...

    Docker 容器化技术介绍(一) 之 虚拟化技术

    Docker 容器化技术介绍(二) 之 Docker 简介

    Docker 容器化技术介绍(三) 之 Docker 组件

    Docker 容器化技术介绍(四) 之 Docker的安装与启动

    Docker 容器化技术介绍(五) 之 Docker 镜像操作

    Docker 容器化技术介绍(六) 之 Docker 容器操作

    Docker 容器化技术介绍(七) 之 Docker 应用部署

    Docker 容器化技术介绍(八) 之 Docker 备份与迁移


    1 虚拟化技术

            我们要讲解的是容器化技术,那么为什在这里需要先了解一下容器化技术呢? 那么因为 Docker 的容器化技术是虚拟的一种体现形式,因此我们要学习容器化技术之前,需要先来了解一下什么是虚拟化技术.

     

    2 常见的虚拟化技术

            全虚拟化架构:虚拟机的监视器 ( hypervisor ) 是类似于用户的应程序运行在主机OS之上,如 VMware 的 workstation,这种虚拟化产品提供了的硬件,像我们在机器上面安装一个linux的虚拟机就是;

            os层虚拟化架构:我们通常使用的 docker 的架构,使用的同一个底层核

            硬件层虚拟化架构:硬件层的虚拟化具有高性能和隔离性,因为 hypervisor 直接在硬件上运行,有利于控制VM的OS访问硬件资源,使用这种解决方案的产品,有VMware ESXi 和 Xen server;

            Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的'元'操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor, VMM);

            Hypervisor是所有虚拟化技术的核心,当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统;

            Hypetvisor是所有虚拟化技术的核心,软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来;常见的产品有: VMware、 KVM、Xen等等;

     

     

    展开全文
  • 讲解当前火热的容器化技术
  • 文章目录概述虚拟化技术容器化技术 概述 随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。 相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行...

    在这里插入图片描述


    概述

    随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。

    相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。


    虚拟化技术

    虚拟化技术通过 Hypervisor 实现虚拟机与底层硬件的解耦,虚拟机实现依赖 Hypervisor 层,Hypervisor 是整个虚拟机的核心所在。

    Hypervisor 也叫作虚拟机监视器 VMM(Virtual Machine Monitor),是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。
    在这里插入图片描述
    Hypervisor 虚拟机可以模拟机器硬件资源,协调虚拟机对硬件资源的访问,同时在各个虚拟机之间进行隔离。

    每一个虚拟机都包括执行的应用,依赖的二进制和库资源,以及一个完整的 OS 操作系统,虚拟机运行以后,预分配给它的资源将全部被占用。


    容器化技术

    在容器技术中,最具代表性且应用最广泛的是 Docker 技术。

    Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的容器中,然后发布到服务器上,Docker 容器基于镜像运行,可部署在物理机或虚拟机上,通过容器引擎与容器编排调度平台实现容器化应用的生命周期管理。

    使用容器化技术有哪些好处呢?

    Docker 不同于 VM,只包含应用程序及依赖库,处于一个隔离的环境中,这使得 Docker 更加轻量高效,启动容器只需几秒钟之内完成。由于 Docker 轻量、资源占用少,可以更方便地部署标准化应用,一台主机上可以同时运行上千个 Docker 容器。


    两种虚拟化技术的对比

    虚拟机是一个运行在宿主机之上的完整操作系统,虚拟机运行自身操作系统会占用较多的 CPU、内存、硬盘资源等。

    虚拟化技术为用户提供了一个完整的虚拟机,包括操作系统在内,容器化技术为应用程序提供了隔离的运行空间,容器之间共享同一个上层操作系统内核。

    虚拟化技术有更佳的隔离性和安全性,但是更新和升级困难,容器化具有快速扩展、灵活性和易用性等优势,但其隔离性较差、安全性相对较低。

    实际部署一般是把两种技术结合起来,比如一个虚拟机中运行多个容器,这样既保证了较好的强隔离性和安全性,也有了快速扩展、灵活性和易用性。


    容器化的原理

    容器技术的核心是如何实现容器内资源的限制,以及不同容器之间的隔离,这些是基于 Linux 的 Namespace 和 CGroups 技术。

    在这里插入图片描述

    Namespace

    Namespace 的目的是通过抽象方法使得 Namespace 中的进程看起来拥有它们自己的隔离的全局系统资源实例。

    Linux 内核实现了六种 Namespace:Mount namespaces、UTS namespaces、IPC namespaces、PID namespaces、Network namespaces、User namespaces,功能分别为:隔离文件系统、定义 hostname 和 domainame、特定的进程间通信资源、独立进程 ID 结构、独立网络设备、用户和组 ID 空间。

    Docker 在创建一个容器的时候,会创建以上六种 Namespace 实例,然后将隔离的系统资源放入到相应的 Namespace 中,使得每个容器只能看到自己独立的系统资源。

    Cgroups

    Docker 利用 CGroups 进行资源隔离。CGroups(Control Groups)也是 Linux 内核中提供的一种机制,它的功能主要是限制、记录、隔离进程所使用的物理资源,比如 CPU、Mermory、IO、Network 等。

    简单来说,CGroups 在接收到调用时,会给指定的进程挂上钩子,这个钩子会在资源被使用的时候触发,触发时会根据资源的类别,比如 CPU、Mermory、IO 等,然后使用对应的方法进行限制。

    CGroups 中有一个术语叫作 Subsystem 子系统,也就是一个资源调度控制器,CPU Subsystem 负责 CPU 的时间分配,Mermory Subsystem 负责 Mermory 的使用量等。

    Docker 启动一个容器后,会在 /sys/fs/cgroup 目录下生成带有此容器 ID 的文件夹,里面就是调用 CGroups 的配置文件,从而实现通过 CGroups 限制容器的资源使用率。


    微服务如何适配容器化

    微服务的设计思想是对系统功能进行解耦,拆分为单独的服务,可以独立运行,而容器进一步对这种解耦性进行了扩展,应用容器技术可以对服务进行快速水平扩展,从而到达弹性部署业务的能力。在各种云服务概念兴起之后,微服务结合 Docker 部署,更加方便微服务架构运维部署落地。

    微服务结合容器有很多优点,但是另一方面,也给服务的部署和应用提出了一些新的问题。

    以 Java 服务为例,容器与虚拟机不同,其资源限制通过 CGroup 来实现,而容器内部进程如果不感知 CGroup 的限制,就进行内存、CPU 分配的话,则可能会导致资源冲突的问题。

    Java 8 之前的版本无法跟 Docker 很好的配合,JVM 通过容器获取的可用内存和 CPU 数量并不是 Docker 允许使用的可用内存和 CPU 数量。

    我们在开发中会应用一些线程池,通常会根据 CPU 核心数来配置,比如使用:

    Runtime.getRuntime().availableProcessors()
    

    在 1.8 版本更早的实现,在容器内获取的是上层物理机或者虚拟机的 CPU 核心数,这就使得线程池配置不符合我们期望的设置。

    另一个影响体现在 GC 中,JVM 垃圾对象回收对 Java 程序执行性能有一定的影响,默认的 JVM 使用公式ParallelGCThreads = (ncpus <= 8) ? ncpus : 3 + ((ncpus * 5) / 8) 来计算并行 GC 的线程数,其中 ncpus 是 JVM 发现的系统 CPU 个数。如果 JVM 应用了错误的 CPU 核心数,会导致 JVM 启动过多的 GC 线程,导致 GC 性能下降,Java 服务的延时增加。

    在这里插入图片描述


    展开全文
  • docker容器化技术

    2020-06-20 10:10:14
    docker容器化技术 https://blog.csdn.net/ternence_hsu/article/details/82024568

    docker容器化技术

    https://blog.csdn.net/ternence_hsu/article/details/82024568

    展开全文
  • 虚拟化技术与容器化技术有什么区别? 查阅了官方文档,docker容器化技术相比较虚拟化技术,可以很明了的看出: 从VM是多了一层Guest OS可以看出,一个OS是一上来就需要固定的硬件配置,以维持此操作系统的运行,...
  • 容器化技术与容器服务实践报告 体验docker容器 基础操作 查看docker的版本 sudo docker version 运行镜像 运行镜像且与容器进行交互 显示本地镜像库 sudo docker images 获取帮助 sudo docker --help 包含...
  • Docker容器化技术体验

    2020-12-25 20:21:50
    Ubuntu下的Docker容器化技术体验 简介 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行。 对 IT 行业来说,这是一项非常有价值的技术。而对 IT 从业者来说,掌握容器技术是...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • docker容器化技术

    2020-10-12 23:00:20
    docker容器化技术一什么是虚拟化功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建...
  • 目录使用容器化技术部署mysql服务一、下载并运行MySQL镜像二、使用Navicat 连接 docker 容器(t1-mysql)将已有的 sql 文件导入数据库中三、使用gitlab的cicd 部署到K8s服务器上,并通过Navicat连接 使用容器化技术...
  • 因为 Docker 的容器化技术是虚拟化的一种体现形式,因此 我们要学习容器化技术之前,需要先来了解一下什么是虚拟化技术: 1.1 什么是虚拟化技术 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • sc-hw11 容器化技术与容器服务 实验环境 Ubuntu 18.04 部署docker环境 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器...
  • 虚拟化是过去用来充分利用计算机...等操作系统成为了人类“压榨”计算机物理资源的神兵利器,而此时,虚拟化技术却并未崭露头角。 目光聚焦到20世纪的90年代,当时IT行业逐渐步入工业化,大量公司部署起了自己内部的
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • 容器化技术介绍 演进历史 物理时代 部署非常慢 成本很高 资源浪费 难于扩展与迁移 受制于硬件 虚拟机时代 多部署 资源池 资源隔离 很容易扩展 VM需要安装操作系统 容器化时代 容器是APP层面的隔离 虚拟化是物理...
  • 容器化技术(No.3) -- Kubernetes 进阶(一).xmind
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • Docker容器化技术的介绍和使用场景 Docker容器化技术的介绍和使用场景docker容器化技术 ) Docker容器化技术的介绍和使用场景 docker容器化技术 Docker 开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包...
  • 容器化技术是大势所趋,容器云将凭借快速部署、便捷运维等特性在物联网、边缘计算等行业中大放异彩。 主讲人|又拍云首席布道师 运维总监 邵海杨 自从虚拟化技术和云计算服务出现以来,IT公司都将虚拟机作为降低成本...
  • 容器化技术概述

    2021-04-08 11:30:12
    容器技术概述 一、什么是容器容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。 不管是什么,总体来说,容器给人第一印象就是——“装”。 那今天我们要说的容器技术是怎么一...
  • 一篇文章搞懂最流行的容器化技术Docker!
  • Docker 容器化技术介绍(一) 之 虚拟化技术 Docker 容器化技术介绍(二) 之 Docker 简介 Docker 容器化技术介绍(三) 之 Docker 组件 Docker 容器化技术介绍(四) 之 Docker的安装与启动 Docker 容器化技术...
  • 容器化技术docker之常用命令03 docker run 流程图 底层原理 Docker是怎么工作的? Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问! Docker-Server接收到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,372
精华内容 4,948
关键字:

容器化技术