style: apply global formatting fixes (struct, spacing, zhlint)

This commit is contained in:
Baohua Yang
2026-02-21 11:08:52 -08:00
parent ad68b2d973
commit 79ac9c639a
159 changed files with 1708 additions and 882 deletions

View File

@@ -1,7 +1,11 @@
# 附录一常见问题总结
本节涵盖了相关内容与详细描述主要探讨以下几个方面
## 镜像相关
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 如何批量清理临时镜像文件
可以使用 `docker image prune` 命令
@@ -23,7 +27,7 @@
* 安装各个软件时候要指定准确的版本号并避免引入不需要的依赖
* 从安全角度考虑应用要尽量使用系统的库和依赖
* 如果安装应用时候需要配置一些特殊的环境变量在安装后要还原不需要保持的变量值
* 使用 Dockerfile 创建镜像时候要添加 .dockerignore 文件或使用干净的工作目录
* 使用 Dockerfile 创建镜像时候要添加dockerignore 文件或使用干净的工作目录
更多内容请查看 [Dockerfile 最佳实践](../16.1_best_practices.md)
@@ -33,9 +37,11 @@
## 容器相关
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 容器退出后通过 docker container ls 命令查看不到数据会丢失么
容器退出后会处于终止exited状态此时可以通过 `docker container ls -a` 查看其中的数据也不会丢失还可以通过 `docker start` 命令来启动它只有删除掉容器才会清除所有数据
容器退出后会处于终止 (exited) 状态此时可以通过 `docker container ls -a` 查看其中的数据也不会丢失还可以通过 `docker start` 命令来启动它只有删除掉容器才会清除所有数据
### 如何停止所有正在运行的容器
@@ -75,7 +81,7 @@ $ docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
`Ctrl-p Ctrl-q`如果按 `Ctrl-c` 往往会让容器内应用进程终止进而会终止容器
### 使用 `docker port` 命令映射容器的端口时系统报错Error: No public port '80' published for xxx
### 使用 `docker port` 命令映射容器的端口时系统报错 ErrorNo public port 80 published for xxx
@@ -86,13 +92,19 @@ $ docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
一般并不推荐在同一个容器内运行多个应用进程如果有类似需求可以通过一些额外的进程管理机制比如 `supervisord` 来管理所运行的进程可以参考 https://docs.docker.com/engine/containers/multi-service_container/ 。
### 如何控制容器占用系统资源CPU内存的份额
### 如何控制容器占用系统资源 (CPU内存) 的份额
在使用 `docker create` 命令创建容器或使用 `docker run` 创建并启动容器的时候可以使用 -c|--cpu-shares\[=0] 参数来调整容器使用 CPU 的权重使用 -m|--memory\[=MEMORY] 参数来调整容器使用内存的大小
## 仓库相关
### 仓库Repository注册服务器Registry注册索引Index 有何关系
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### 概述
总体概述了以下内容
### 仓库注册服务器注册索引有何关系
首先仓库是存放一组关联镜像的集合比如同一个应用的不同版本的镜像
@@ -100,9 +112,11 @@ $ docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
## 配置相关
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### Docker 的配置文件放在哪里如何修改配置
使用 `systemd` 的系统 Ubuntu 22.04+Debian 12+Rocky/Alma/CentOS Stream 9+的配置文件在 `/etc/docker/daemon.json`
使用 `systemd` 的系统 ( Ubuntu 22.04+Debian 12+Rocky/Alma/CentOS Stream 9+) 的配置文件在 `/etc/docker/daemon.json`
### 如何更改 Docker 的默认存储位置
@@ -127,31 +141,33 @@ lrwxrwxrwx. 1 root root 15 11月 17 13:43 docker -> /storage/docker
[root@s26 lib]# service docker start
```
### 使用内存和 swap 限制启动容器时候报警告"WARNING: Your kernel does not support cgroup swap limit. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded."
### 使用内存和 swap 限制启动容器时候报警告WARNINGYour kernel does not support cgroup swap limitWARNINGYour kernel does not support swap limit capabilitiesLimitation discarded
这是因为系统默认没有开启对内存和 swap 使用的统计功能引入该功能会带来性能的下降要开启该功能可以采取如下操作
* 编辑 `/etc/default/grub` 文件Ubuntu 系统为例配置 `GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"`
* 编辑 `/etc/default/grub` 文件 (Ubuntu 系统为例)配置 `GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"`
* 更新 grub`$ sudo update-grub`
* 重启系统即可
## Docker 与虚拟化
### Docker LXCLinux Container有何不同
本节涵盖了相关内容与详细描述主要探讨以下几个方面
### Docker LXC 有何不同
LXC 利用 Linux 上相关技术实现了容器Docker 则在如下的几个方面进行了改进
* 移植性通过抽象容器配置容器可以实现从一个平台移植到另一个平台
* 镜像系统基于 OverlayFS 的镜像系统为容器的分发带来了很多的便利同时共同的镜像层只需要存储一份实现高效率的存储
* 版本管理类似于Git的版本管理理念用户可以更方便的创建管理镜像文件
* 版本管理类似于 Git 的版本管理理念用户可以更方便的创建管理镜像文件
* 仓库系统仓库系统大大降低了镜像的分发和管理的成本
* 周边工具各种现有工具配置管理云平台 Docker 的支持以及基于 Docker的 PaaSCI 等系统 Docker 的应用更加方便和多样化
* 周边工具各种现有工具 (配置管理云平台) Docker 的支持以及基于 Docker PaaSCI 等系统 Docker 的应用更加方便和多样化
### Docker Vagrant 有何不同
两者的定位完全不同
* Vagrant 类似 Boot2Docker一款运行 Docker 的最小内核是一套虚拟机的管理环境Vagrant 可以在多种系统上和虚拟机软件中运行可以在 WindowsMac 等非 Linux 平台上为 Docker 提供支持自身具有较好的包装性和移植性
* Vagrant 类似 Boot2Docker (一款运行 Docker 的最小内核)是一套虚拟机的管理环境Vagrant 可以在多种系统上和虚拟机软件中运行可以在 WindowsMac 等非 Linux 平台上为 Docker 提供支持自身具有较好的包装性和移植性
* 原生的 Docker 自身只能运行在 Linux 平台上但启动和运行的性能都比虚拟机要快往往更适合快速开发和部署应用的场景
简单说Vagrant 适合用来管理虚拟机 Docker 适合用来管理应用环境
@@ -166,9 +182,11 @@ lrwxrwxrwx. 1 root root 15 11月 17 13:43 docker -> /storage/docker
## 其它
### Docker 能在非 Linux 平台比如 Windows macOS 上运行么
本节涵盖了相关内容与详细描述主要探讨以下几个方面
完全可以安装方法请查看 [安装 Docker](../../03_install/README.md) 一节
### Docker 能在非 Linux 平台 (比如 Windows macOS) 上运行么
完全可以安装方法请查看[安装 Docker](../../03_install/README.md) 一节
### 如何将一台宿主主机的 Docker 环境迁移到另外一台宿主主机