mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 20:31:18 +00:00
Fix typography
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
- [Dockerfile 最佳实践](../appendix/best_practices.md):构建高质量镜像的技巧
|
- [Dockerfile 最佳实践](../appendix/best_practices.md):构建高质量镜像的技巧
|
||||||
- [底层实现 - 联合文件系统](../12_implementation/12.4_ufs.md):深入理解分层存储的技术原理
|
- [底层实现 - 联合文件系统](../12_implementation/12.4_ufs.md):深入理解分层存储的技术原理
|
||||||
- [启动容器](../05_container/5.1_run.md):详细的容器启动选项
|
- [启动容器](../05_container/5.1_run.md):详细的容器启动选项
|
||||||
- [后台运行](../05_container/5.2_daemon.md):理解容器为什么会"立即退出"
|
- [后台运行](../05_container/5.2_daemon.md):理解容器为什么会“立即退出”
|
||||||
- [进入容器](../05_container/5.4_attach_exec.md):如何操作运行中的容器
|
- [进入容器](../05_container/5.4_attach_exec.md):如何操作运行中的容器
|
||||||
- [数据管理](../08_data/README.md):Volume 和数据持久化详解
|
- [数据管理](../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 的详细使用
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -77,7 +77,7 @@ $ docker push username/myapp:v1
|
|||||||
| **免费账户** (已登录) | 每 6 小时 200 次请求 |
|
| **免费账户** (已登录) | 每 6 小时 200 次请求 |
|
||||||
| **Pro/Team 账户** | 无限制 |
|
| **Pro/Team 账户** | 无限制 |
|
||||||
|
|
||||||
#### 滥用限流 (Abuse Rate Limit)
|
#### 滥用限流
|
||||||
|
|
||||||
除了上述针对特定账号拉取镜像数量的 Pull Rate Limit 之外,Docker Hub 对所有用户(包含已认证及付费用户)还实施了 **滥用保护限流 (Abuse Rate Limiting)**。它是根据网络出口 IP (IPv4 或 IPv6 /64 子网) 计算整体请求频率,阈值动态触发(通常为每分钟数千级别请求)。
|
除了上述针对特定账号拉取镜像数量的 Pull Rate Limit 之外,Docker Hub 对所有用户(包含已认证及付费用户)还实施了 **滥用保护限流 (Abuse Rate Limiting)**。它是根据网络出口 IP (IPv4 或 IPv6 /64 子网) 计算整体请求频率,阈值动态触发(通常为每分钟数千级别请求)。
|
||||||
|
|
||||||
@@ -102,6 +102,7 @@ $ docker push username/myapp:v1
|
|||||||
在 Account Settings -> Security 中启用 2FA,保护账号安全。启用后,CLI 登录需要使用 **Access Token** 而非密码。
|
在 Account Settings -> Security 中启用 2FA,保护账号安全。启用后,CLI 登录需要使用 **Access Token** 而非密码。
|
||||||
|
|
||||||
#### 2. 使用 Access Token
|
#### 2. 使用 Access Token
|
||||||
|
|
||||||
> **⚠️ 警告**:绝不要在脚本或 CI/CD 系统中,直接使用 `-p` 参数传递密码或 Token (类似 `docker login -p xxx`)!这会导致凭证直接暴露在系统的命令历史、进程列表和终端输出中。
|
> **⚠️ 警告**:绝不要在脚本或 CI/CD 系统中,直接使用 `-p` 参数传递密码或 Token (类似 `docker login -p xxx`)!这会导致凭证直接暴露在系统的命令历史、进程列表和终端输出中。
|
||||||
|
|
||||||
1. 在 Docker Hub -> Account Settings -> Security -> Access Tokens 创建 Token (PAT)。
|
1. 在 Docker Hub -> Account Settings -> Security -> Access Tokens 创建 Token (PAT)。
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,36 @@
|
|||||||
## 7.16 参考文档
|
## 7.16 参考文档
|
||||||
|
|
||||||
* `Dockerfile` 官方文档:https://docs.docker.com/engine/reference/builder/
|
### 官方文档
|
||||||
|
|
||||||
* `Dockerfile` 最佳实践文档:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
|
* `Dockerfile` 官方参考手册:https://docs.docker.com/engine/reference/builder/
|
||||||
|
|
||||||
* `Docker` 官方镜像 `Dockerfile`:https://github.com/docker-library/docs
|
* `Dockerfile` 最佳实践指南:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
|
||||||
|
|
||||||
|
* `Docker` 官方镜像 `Dockerfile` 库:https://github.com/docker-library/docs
|
||||||
|
|
||||||
|
### 常用指令总结
|
||||||
|
|
||||||
|
Dockerfile 中的常用指令包括:
|
||||||
|
|
||||||
|
- **FROM**: 指定基础镜像,必须是第一条指令
|
||||||
|
- **RUN**: 在镜像中执行命令,用于安装软件包等
|
||||||
|
- **WORKDIR**: 设置工作目录
|
||||||
|
- **COPY/ADD**: 复制文件到镜像中
|
||||||
|
- **EXPOSE**: 声明容器监听的端口
|
||||||
|
- **ENV**: 设置环境变量
|
||||||
|
- **ENTRYPOINT**: 容器启动时的入口点
|
||||||
|
- **CMD**: 容器默认执行的命令
|
||||||
|
|
||||||
|
### 最佳实践建议
|
||||||
|
|
||||||
|
1. 使用具体的基础镜像版本标签而非 latest
|
||||||
|
2. 最小化镜像层数,合并 RUN 指令
|
||||||
|
3. 使用 .dockerignore 文件排除不必要的文件
|
||||||
|
4. 安装必要的软件包后清理缓存
|
||||||
|
5. 使用多阶段构建减小最终镜像体积
|
||||||
|
6. 避免以 root 身份运行容器应用
|
||||||
|
|
||||||
|
### 相关资源
|
||||||
|
|
||||||
|
- Docker 官方镜像库:https://hub.docker.com/
|
||||||
|
- Docker 镜像构建最佳实践:https://docs.docker.com/build/building/best-practices/
|
||||||
|
|||||||
@@ -21,4 +21,3 @@ FCOS 使用 rpm-ostree 系统进行事务性升级。无需像 yum 升级那样
|
|||||||
#### 容器工具
|
#### 容器工具
|
||||||
|
|
||||||
对于诸如构建,复制和其他管理容器的任务,FCOS 用一组容器工具代替了 **Docker CLI**。**podman CLI** 工具支持许多容器运行时功能,例如运行,启动,停止,列出和删除容器和镜像。**skopeo CLI** 工具可以复制,认证和签名镜像。您还可以使用 **crictl CLI** 工具来处理 CRI-O 容器引擎中的容器和镜像。
|
对于诸如构建,复制和其他管理容器的任务,FCOS 用一组容器工具代替了 **Docker CLI**。**podman CLI** 工具支持许多容器运行时功能,例如运行,启动,停止,列出和删除容器和镜像。**skopeo CLI** 工具可以复制,认证和签名镜像。您还可以使用 **crictl CLI** 工具来处理 CRI-O 容器引擎中的容器和镜像。
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -5,9 +5,9 @@
|
|||||||
* **指标监控**:以 Prometheus + Grafana 为主,完成指标采集、存储与可视化。
|
* **指标监控**:以 Prometheus + Grafana 为主,完成指标采集、存储与可视化。
|
||||||
* **日志管理**:以 EFK/ELK 为例,完成容器日志的集中采集、检索与分析。
|
* **日志管理**:以 EFK/ELK 为例,完成容器日志的集中采集、检索与分析。
|
||||||
|
|
||||||
生产环境中,建议将“可观测性”当成一个完整闭环:**采集 -> 存储 -> 展示 -> 告警 -> 排错 -> 容量治理**。
|
生产环境中,建议将”可观测性”当成一个完整闭环:**采集 -> 存储 -> 展示 -> 告警 -> 排错 -> 容量治理**。
|
||||||
|
|
||||||
## 19.3 Docker 日志驱动
|
## 扩展阅读:Docker 日志驱动
|
||||||
|
|
||||||
Docker 提供了多种日志驱动 (Log Driver),用于将容器标准输出的日志转发到不同后端。
|
Docker 提供了多种日志驱动 (Log Driver),用于将容器标准输出的日志转发到不同后端。
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ npx honkit serve
|
|||||||
<img width="200" src="https://github.com/yeasy/docker_practice/raw/master/_images/donate.jpeg">
|
<img width="200" src="https://github.com/yeasy/docker_practice/raw/master/_images/donate.jpeg">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center"><strong>欢迎鼓励项目一杯 coffee~</strong></p>
|
<p align=“center”><strong>欢迎鼓励项目一杯 coffee~</strong></p>
|
||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
* **明确声明前置条件**:例如,“此功能需要开启 containerd image store” 或 “需要额外配置 `--push`”。
|
* **明确声明前置条件**:例如,“此功能需要开启 containerd image store” 或 “需要额外配置 `--push`”。
|
||||||
* **描述失败现象**:明确告诉读者,“如果你不这么配置,命令仍会提示成功,但产物将不可见/被丢弃”。
|
* **描述失败现象**:明确告诉读者,“如果你不这么配置,命令仍会提示成功,但产物将不可见/被丢弃”。
|
||||||
|
|
||||||
## 3. 统一使用 "docker compose" 命令
|
## 3. 统一使用 “docker compose” 命令
|
||||||
|
|
||||||
早期 Python 编写的 `docker-compose` (V1) 已停止支持。
|
早期 Python 编写的 `docker-compose` (V1) 已停止支持。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user