mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Compare commits
2 Commits
0ff67cc893
...
a9c4189c0c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9c4189c0c | ||
|
|
56deeaee0f |
@@ -45,7 +45,7 @@ $ docker run -d -p 8080:80 my-hello-world
|
|||||||
|
|
||||||
### 1.1.5 访问测试
|
### 1.1.5 访问测试
|
||||||
|
|
||||||
打开浏览器访问 [http://localhost:8080](http://localhost:8080),你应该能看到 “Hello,Docker!”。
|
打开浏览器访问 [http://localhost:8080](http://localhost:8080),你应该能看到 “Hello, Docker!”。
|
||||||
|
|
||||||
### 1.1.6 清理
|
### 1.1.6 清理
|
||||||
|
|
||||||
|
|||||||
@@ -2,13 +2,15 @@
|
|||||||
|
|
||||||
本章将带领你进入 **Docker** 的世界。
|
本章将带领你进入 **Docker** 的世界。
|
||||||
|
|
||||||
|
> **版本提示**:本书内容及示例基于 **Docker Engine v29.x** 及以上版本。值得注意的是,自 Docker Engine v29 起,官方在全新安装场景下**默认启用了 `containerd image store` 作为镜像存储后端**(取代了传统的经典存储引擎如 overlay2 graph driver)。这项底层革新极大增强了 Docker 对多架构镜像(Multi-platform)、以及软件供应链安全元数据(Attestations, SBOM, Provenance)的本地支持原生性。
|
||||||
|
|
||||||
## 本章内容
|
## 本章内容
|
||||||
|
|
||||||
* [快速上手](1.1_quickstart.md)
|
* [快速上手](1.1_quickstart.md)
|
||||||
* 通过一个简单的 Web 应用例子,带你快速体验 Docker 的核心流程:构建镜像、运行容器。
|
* 通过一个简单的 Web 应用例子,带你快速体验 Docker 的核心流程:构建镜像、运行容器。
|
||||||
|
|
||||||
* [什么是 Docker](1.2_what.md)
|
* [什么是 Docker](1.2_what.md)
|
||||||
* 介绍 Docker 的起源、发展历程以及其背后的核心技术 (Cgroups,Namespaces,UnionFS)。
|
* 介绍 Docker 的起源、发展历程以及其背后的核心技术 (Cgroups,Namespaces,UnionFS,以及 `containerd` 引擎的演进)。
|
||||||
* 了解 Docker 是如何改变软件交付方式的。
|
* 了解 Docker 是如何改变软件交付方式的。
|
||||||
|
|
||||||
* [为什么要用 Docker](1.3_why.md)
|
* [为什么要用 Docker](1.3_why.md)
|
||||||
|
|||||||
@@ -1,40 +1,18 @@
|
|||||||
## 本章小结
|
## 本章小结
|
||||||
|
|
||||||
|
本章介绍了 Docker 的三个核心概念:镜像、容器和仓库。
|
||||||
|
|
||||||
| 概念 | 要点 |
|
| 概念 | 要点 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| **镜像是什么** | 只读的应用模板,包含运行所需的一切 |
|
| **镜像是什么** | 只读的应用模板,包含运行所需的一切 |
|
||||||
| **分层存储** | 多层叠加,共享基础层,节省空间 |
|
| **分层存储** | 多层叠加,共享基础层,节省空间 |
|
||||||
| **只读特性** | 构建后不可修改,保证一致性 |
|
| **只读特性** | 构建后不可修改,保证一致性 |
|
||||||
| **层的陷阱** | 删除操作只是标记,不减小体积 |
|
| **层的陷阱** | 删除操作只是标记,不减小体积 |
|
||||||
|
|
||||||
理解了镜像,接下来让我们学习[容器](2.2_container.md)——镜像的运行实例。
|
|
||||||
|
|
||||||
### 2.4.1 延伸阅读
|
|
||||||
|
|
||||||
- [获取镜像](../04_image/4.1_pull.md):从 Registry 下载镜像
|
|
||||||
- [使用 Dockerfile 定制镜像](../04_image/4.5_build.md):创建自己的镜像
|
|
||||||
- [Dockerfile 最佳实践](../appendix/best_practices.md):构建高质量镜像的技巧
|
|
||||||
- [底层实现 - 联合文件系统](../12_implementation/12.4_ufs.md):深入理解分层存储的技术原理
|
|
||||||
|
|
||||||
| 概念 | 要点 |
|
|
||||||
|------|------|
|
|
||||||
| **容器是什么** | 镜像的运行实例,本质是隔离的进程 |
|
| **容器是什么** | 镜像的运行实例,本质是隔离的进程 |
|
||||||
| **容器 vs 虚拟机** | 共享内核,更轻量,但隔离性较弱 |
|
| **容器 vs 虚拟机** | 共享内核,更轻量,但隔离性较弱 |
|
||||||
| **存储层** | 可写层随容器删除而消失 |
|
| **存储层** | 可写层随容器删除而消失 |
|
||||||
| **数据持久化** | 使用 Volume 或 Bind Mount |
|
| **数据持久化** | 使用 Volume 或 Bind Mount |
|
||||||
| **生命周期** | 与主进程 (PID 1) 绑定 |
|
| **生命周期** | 与主进程 (PID 1) 绑定 |
|
||||||
|
|
||||||
理解了镜像和容器,接下来让我们学习[仓库](2.3_repository.md)——存储和分发镜像的服务。
|
|
||||||
|
|
||||||
### 2.4.2 延伸阅读
|
|
||||||
|
|
||||||
- [启动容器](../05_container/5.1_run.md):详细的容器启动选项
|
|
||||||
- [后台运行](../05_container/5.2_daemon.md):理解容器为什么会 “立即退出”
|
|
||||||
- [进入容器](../05_container/5.4_attach_exec.md):如何操作运行中的容器
|
|
||||||
- [数据管理](../08_data/README.md):Volume 和数据持久化详解
|
|
||||||
|
|
||||||
| 概念 | 要点 |
|
|
||||||
|------|------|
|
|
||||||
| **Registry** | 存储和分发镜像的服务 |
|
| **Registry** | 存储和分发镜像的服务 |
|
||||||
| **仓库 (Repository)** | 同一软件的镜像集合 |
|
| **仓库 (Repository)** | 同一软件的镜像集合 |
|
||||||
| **标签 (Tag)** | 版本标识,默认为 latest |
|
| **标签 (Tag)** | 版本标识,默认为 latest |
|
||||||
@@ -43,8 +21,16 @@
|
|||||||
|
|
||||||
现在你已经了解了 Docker 的三个核心概念:[镜像](2.1_image.md)、[容器](2.2_container.md)和仓库。接下来,让我们开始[安装 Docker](../03_install/README.md),动手实践!
|
现在你已经了解了 Docker 的三个核心概念:[镜像](2.1_image.md)、[容器](2.2_container.md)和仓库。接下来,让我们开始[安装 Docker](../03_install/README.md),动手实践!
|
||||||
|
|
||||||
### 2.4.3 延伸阅读
|
### 延伸阅读
|
||||||
|
|
||||||
|
- [获取镜像](../04_image/4.1_pull.md):从 Registry 下载镜像
|
||||||
|
- [使用 Dockerfile 定制镜像](../04_image/4.5_build.md):创建自己的镜像
|
||||||
|
- [Dockerfile 最佳实践](../appendix/best_practices.md):构建高质量镜像的技巧
|
||||||
|
- [底层实现 - 联合文件系统](../12_implementation/12.4_ufs.md):深入理解分层存储的技术原理
|
||||||
|
- [启动容器](../05_container/5.1_run.md):详细的容器启动选项
|
||||||
|
- [后台运行](../05_container/5.2_daemon.md):理解容器为什么会"立即退出"
|
||||||
|
- [进入容器](../05_container/5.4_attach_exec.md):如何操作运行中的容器
|
||||||
|
- [数据管理](../08_data/README.md):Volume 和数据持久化详解
|
||||||
- [Docker Hub](../06_repository/6.1_dockerhub.md):Docker Hub 的详细使用
|
- [Docker Hub](../06_repository/6.1_dockerhub.md):Docker Hub 的详细使用
|
||||||
- [私有仓库](../06_repository/6.2_registry.md):搭建私有 Registry
|
- [私有仓库](../06_repository/6.2_registry.md):搭建私有 Registry
|
||||||
- [私有仓库高级配置](../06_repository/6.3_registry_auth.md):认证、TLS 配置
|
- [私有仓库高级配置](../06_repository/6.3_registry_auth.md):认证、TLS 配置
|
||||||
|
|||||||
Reference in New Issue
Block a user