From 6eb68133aeeada0e046372d95b30252c8c200ea7 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 14:33:22 +0800 Subject: [PATCH] =?UTF-8?q?Update=20Docker=E4=BB=8E=E5=85=A5=E9=97=A8?= =?UTF-8?q?=E5=88=B0=E5=AE=9E=E6=88=98.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/tools/Docker从入门到实战.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/tools/Docker从入门到实战.md b/docs/tools/Docker从入门到实战.md index b1084841..9a36c33b 100644 --- a/docs/tools/Docker从入门到实战.md +++ b/docs/tools/Docker从入门到实战.md @@ -5,23 +5,31 @@ 说实话关于 Docker 是什么并太好说,下面我通过四点向你说明 Docker 到底是个什么东西。 - Docker 是世界领先的软件容器平台。 -- Docker 使用 Google 公司推出的 **Go 语言** 进行开发实现,基于 **Linux 内核** 提供的 CGroup 功能和 name space 来实现的,以及 AUFS 类的 **UnionFS** 等技术,**对进程进行封装隔离,属于操作系统层面的虚拟化技术。** 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 - Docker 能够自动执行重复性任务,例如搭建和配置开发环境,从而解放开发人员。 - 用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 +- Docker 使用 Google 公司推出的 **Go 语言** 进行开发实现,基于 **Linux 内核** 提供的 CGroup 功能和 name space 来实现的,以及 AUFS 类的 **UnionFS** 等技术,**对进程进行封装隔离,属于操作系统层面的虚拟化技术。** 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 + +官网地址:https://www.docker.com/ 。 ![什么是Docker](https://user-gold-cdn.xitu.io/2018/6/18/16411c3946dda762?w=971&h=629&f=jpeg&s=56655) -### Docker 容器有何特点? - -- **轻量** : 在一台机器上运行的多个 Docker 容器可以共享这台机器的操作系统内核;它们能够迅速启动,只需占用很少的计算和内存资源。镜像是通过文件系统层进行构造的,并共享一些公共文件。这样就能尽量降低磁盘用量,并能更快地下载镜像。 -- **标准** : Docker 容器基于开放式标准,能够在所有主流 Linux 版本、Microsoft Windows 以及包括 VM、裸机服务器和云在内的任何基础设施上运行。 -- **安全** : Docker 赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker 默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台机器。 - ### 为什么要用 Docker? -[《Docker 从入门到实践》](https://yeasy.gitbook.io/docker_practice/introduction/why) 这本开源书籍中已经给出了答案,我这里就不废话了。 +Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 + +容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 + +传统的开发流程中,我们的项目通常需要使用 MySQL、Redis、FastDFS 等等环境,这些环境都是需要我们手动去进行下载并配置的,安装配置流程极其复杂,而且不同系统下的操作也不一样。 + +Docker 的出现完美地解决了这一问题,我们可以在容器中安装 MySQL、Redis 等软件环境,使得应用和环境架构分开,它的优势在于: + +1. 一致的运行环境,能够更轻松地迁移 +2. 对进程进行封装隔离,容器与容器之间互不影响,更高效地利用系统资源 +3. 可以通过镜像复制多个一致的容器 + +另外,[《Docker 从入门到实践》](https://yeasy.gitbook.io/docker_practice/introduction/why) 这本开源书籍中也已经给出了使用 Docker 的原因。 ![](https://img-blog.csdnimg.cn/20210412220015698.png)