前言:

之前感觉Docker是一种小型虚拟机,那么docker和KVM虚拟机之间有什么区别、联系?Docker的应用场景是什么呢? 

Docker是基于Linux内核docker 的 namespace、cgroup 和 unionFS 三种技术实现,达到容器的环境隔离、资源控制和镜像打包。

Docker比虚拟机:更加轻量级、秒级即可启动、只要操作系统支持LXC技术,有doker服务,就可以跨主机到处运行。

Docker镜像的分层设计思想,给我感觉就是非常灵活,非常适用于To B的产品的部署;

作为老板,我们不需要再考虑如何在没有网络的情况下,把我们的项目部署到不同的客户环境。

作为开发,我们不需要再考虑如何把我们的程序运行到不同的系统环境。

作为运维,我们可以基于1个Centos系统镜像,通过不同Dockerfile的From语法,给开发人员构建出Java运行环境、Python运行环境..各种不同的程序运行环境。

作为测试,我们可以基于1个Python运行环境,通过docker run 的 -v选项,把宿主机中不同的Python项目挂载到不同容器中,进行轮番测试。

 

一、Docker是什么以及和KVM的区别

1.docker概念?

Docker 容器技术

容器技术是Linux内核层面实现的技术,其目的是对整个系统的UTS、IPC、PID、Network、Mount、User进行划分。

Docker是容器技术吗?不是!知道为什么有些低版本的Linux操作系统不支持docker了吗?因为内核没升级。

LinuX Container(LXC)是给用户提供的可调用内核容器技术的前端工具

而Docker封装并简化了LXC容器前端调用工具,docker的使用比LXC工具的使用更加简单。

 

2.docker的设计理念

快速地构建(build)、运输(ship)、运行(running)系统环境

1个容器=1个在前台运行的进程。如果我就想在同1个容器里运行多个进程呢?那就让1个supervisor管理N个进程。

 

3.docker的架构

docker是C/S 架构 docker server 是服务端,我们执行的docker命令就是操作客户端;

Docker 容器技术
[root@localhost zhanggen]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

-----------------------------------------------------------
[root@localhost zhanggen]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-03-20 15:19:16 CST; 6min ago
     Docs: https://docs.docker.com
 Main PID: 55180 (dockerd)
   Memory: 75.6M
   CGroup: /system.slice/docker.service
           └─55180 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
组成部分

相关文章:

  • 2022-12-23
  • 2018-06-15
  • 2021-11-21
  • 2021-11-12
  • 2021-05-23
  • 2021-10-23
猜你喜欢
  • 2021-05-21
  • 2021-10-03
  • 2021-11-30
相关资源
相似解决方案