From dc126a207a53f081eccbf809e388dec24ed5f244 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 14:33:20 +0800 Subject: [PATCH 1/4] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 30fa2e9e001..9832dab0eec 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ 👍推荐 [在线阅读](https://snailclimb.gitee.io/javaguide) (Github 访问速度比较慢可能会导致部分图片无法刷新出来) +👍推荐[2021最新实战项目源码下载](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100018862&idx=1&sn=858e00b60c6097e3ba061e79be472280&chksm=4ea1856579d60c73224e4d852af6b0188c3ab905069fc28f4b293963fd1ee55d2069fb229848#rd) + 书单已经被移动到[awesome-cs](https://github.com/CodingDocs/awesome-cs) 这个仓库。 > 1. **介绍**:关于 JavaGuide 的相关介绍请看:[关于 JavaGuide 的一些说明](https://www.yuque.com/snailclimb/dr6cvl/mr44yt) 。 From 6eb68133aeeada0e046372d95b30252c8c200ea7 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 14:33:22 +0800 Subject: [PATCH 2/4] =?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 --- ...50\345\210\260\345\256\236\346\210\230.md" | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git "a/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" "b/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" index b10848411d1..9a36c33b789 100644 --- "a/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" +++ "b/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.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 机器上,也可以实现虚拟化。 -- **轻量** : 在一台机器上运行的多个 Docker 容器可以共享这台机器的操作系统内核;它们能够迅速启动,只需占用很少的计算和内存资源。镜像是通过文件系统层进行构造的,并共享一些公共文件。这样就能尽量降低磁盘用量,并能更快地下载镜像。 -- **标准** : Docker 容器基于开放式标准,能够在所有主流 Linux 版本、Microsoft Windows 以及包括 VM、裸机服务器和云在内的任何基础设施上运行。 -- **安全** : Docker 赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker 默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台机器。 +容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 -### 为什么要用 Docker? +传统的开发流程中,我们的项目通常需要使用 MySQL、Redis、FastDFS 等等环境,这些环境都是需要我们手动去进行下载并配置的,安装配置流程极其复杂,而且不同系统下的操作也不一样。 + +Docker 的出现完美地解决了这一问题,我们可以在容器中安装 MySQL、Redis 等软件环境,使得应用和环境架构分开,它的优势在于: + +1. 一致的运行环境,能够更轻松地迁移 +2. 对进程进行封装隔离,容器与容器之间互不影响,更高效地利用系统资源 +3. 可以通过镜像复制多个一致的容器 -[《Docker 从入门到实践》](https://yeasy.gitbook.io/docker_practice/introduction/why) 这本开源书籍中已经给出了答案,我这里就不废话了。 +另外,[《Docker 从入门到实践》](https://yeasy.gitbook.io/docker_practice/introduction/why) 这本开源书籍中也已经给出了使用 Docker 的原因。 ![](https://img-blog.csdnimg.cn/20210412220015698.png) From e526d80f74a69a552c0885cd227c7cd8ffbbf4e2 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 14:34:18 +0800 Subject: [PATCH 3/4] =?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 --- ...05\245\351\227\250\345\210\260\345\256\236\346\210\230.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" "b/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" index 9a36c33b789..7fa33d3b94c 100644 --- "a/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" +++ "b/docs/tools/Docker\344\273\216\345\205\245\351\227\250\345\210\260\345\256\236\346\210\230.md" @@ -4,10 +4,10 @@ 说实话关于 Docker 是什么并太好说,下面我通过四点向你说明 Docker 到底是个什么东西。 -- Docker 是世界领先的软件容器平台。 +- Docker 是世界领先的软件容器平台,基于 **Go 语言** 进行开发实现。 - Docker 能够自动执行重复性任务,例如搭建和配置开发环境,从而解放开发人员。 - 用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 -- Docker 使用 Google 公司推出的 **Go 语言** 进行开发实现,基于 **Linux 内核** 提供的 CGroup 功能和 name space 来实现的,以及 AUFS 类的 **UnionFS** 等技术,**对进程进行封装隔离,属于操作系统层面的虚拟化技术。** 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 +- Docker可以**对进程进行封装隔离,属于操作系统层面的虚拟化技术。** 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 官网地址:https://www.docker.com/ 。 From b14be3ab771267819920b44844ab05ba1c5f0450 Mon Sep 17 00:00:00 2001 From: guide Date: Wed, 14 Apr 2021 14:34:44 +0800 Subject: [PATCH 4/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9832dab0eec..8be31dd456b 100644 --- a/README.md +++ b/README.md @@ -342,7 +342,7 @@ Dubbo 是一款国产的 RPC 框架,由阿里开源。相关阅读: 1. **Java** :[JAD 反编译](docs/java/JAD反编译tricks.md)、[手把手教你定位常见 Java 性能问题](./docs/java/手把手教你定位常见Java性能问题.md) 2. **Git** :[Git 入门](docs/tools/Git.md) 3. **Github** : [Github小技巧](docs/tools/Github技巧.md) -4. **Docker** : [Docker 基本概念解读](docs/tools/Docker.md) 、[Docker从入门到实战](docs/tools/Docker从入门到实战.md) +4. **Docker** : [Docker 基本概念解读](docs/tools/Docker.md) 、[Docker从入门到上手干事](docs/tools/Docker从入门到实战.md) ## Java 学习常见问题汇总