欢迎光临散文网 会员登陆 & 注册

Docker容器引擎详解

2020-05-19 17:19 作者:尚硅谷  | 我要投稿



【Docker简介】

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

1. DockerClient客户端

2. Docker Daemon守护进程

3. Docker Image镜像

4. DockerContainer容器

 

【Docker特性】

在docker的网站上提到了docker的典型场景:

1. Automating the packaging and deployment of applications(使应用的打包与部署自动化)

2. Creation of lightweight, private PAAS environments(创建轻量、私密的PAAS环境)

3. Automated testing and continuous integration/deployment(实现自动化测试和持续的集成/部署)

4. Deploying and scaling web apps, databases and backend services(部署与扩展webapp、数据库和后台服务)

由于其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。因此对于构建隔离的标准化的运行环境,轻量级的PaaS(如dokku), 构建自动化测试和持续集成环境,以及一切可以横向扩展的应用(尤其是需要快速启停来应对峰谷的web应用)。

1. 构建标准化的运行环境,现有的方案大多是在一个baseOS上运行一套puppet/chef,或者一个image文件,其缺点是前者需要base OS许多前提条件,后者几乎不可以修改(因为copy on write 的文件格式在运行时rootfs是read only的)。并且后者文件体积大,环境管理和版本控制本身也是一个问题。

2. PaaS环境是不言而喻的,其设计之初和dotcloud的案例都是将其作为PaaS产品的环境基础

3. 因为其标准化构建方法(buildfile)和良好的REST API,自动化测试和持续集成/部署能够很好的集成进来

4. 因为LXC轻量级的特点,其启动快,而且docker能够只加载每个container变化的部分,这样资源占用小,能够在单机环境下与KVM之类的虚拟化方案相比能够更加快速和占用更少资源

 

【系统学习并掌握Docker】

尚硅谷Docker教程

https://www.bilibili.com/video/BV1Ls411n7mx

课程详情:

本课程帮助大家对Docker快速上手,迅速入门。将介绍Docker核心概念,是什么、能干什么、Docker整体架构,和传统虚拟机的区别。什么是容器虚拟化技术,深刻理解镜像、容器、仓库的各种概念和操作。

通过该课程,帮助学习者掌握Dockerfile的编写和构建并使用Dockerfile来制作复杂镜像,能够使用容器卷完成容器间数据共享和持久化工作。能够在Docker容器下进行日常软件的安装开发和工程部署,最终可以通过docker和阿里云平台完成工作的协同和发布。



Docker容器引擎详解的评论 (共 条)

分享到微博请遵守国家法律