镜像(Image)是 Docker 的核心概念之一,可以理解为“容器的模板”。
所有容器都是基于镜像运行的,因此掌握镜像管理是使用 Docker 的基础。
什么是镜像
镜像类似于一个只读的文件包,包含:
- 应用程序代码
- 运行环境(如 Node、Java)
- 系统工具
- 配置文件
一、查看镜像
查看本地所有镜像
docker images
原创2026/3/18大约 2 分钟

镜像(Image)是 Docker 的核心概念之一,可以理解为“容器的模板”。
所有容器都是基于镜像运行的,因此掌握镜像管理是使用 Docker 的基础。
镜像类似于一个只读的文件包,包含:
docker images
在 Docker 中,容器的数据默认是临时的,一旦容器被删除,数据也会丢失。
为了解决这个问题,就需要使用 数据卷(Volume)。
数据卷是 Docker 提供的一种 数据持久化机制,可以将容器中的数据映射到宿主机。
提示
数据卷可以理解为:容器和宿主机之间的“共享文件夹”
在 Shell 中,变量默认是字符串。如果直接进行 1+1,结果会是 1+1 而不是 2。我们需要特殊的语法来进行数学运算。
这是最常用且效率最高的方式,支持自增 ++ 和自减 --。
a=10
b=20
echo $((a + b))
echo $(( (a + b) * 2 ))
基本的判断语法如下:
if [ condition ]; then
# 执行语句
elif [ condition ]; then
# 执行语句
else
# 执行语句
fi
case 语句非常适合用于编写“管理脚本”,例如启动、停止、重启服务。
case $变量 in
"值1")
# 语句
;;
"值2")
# 语句
;;
*)
# 默认执行
;;
esac
用于已知循环次数的场景。
# 批量创建 5 个文件
for i in {1..5}
do
touch "file_$i.txt"
done
> : 覆盖重定向>> : 追加重定向2>&1 : 将错误输出也导入到标准输出中# 将 Nginx 错误日志重定向到特定文件
ls /nonexistent 2> error.log
# 丢弃所有输出(黑洞)
ls /usr/local/nginx > /dev/null 2>&1
在分析 Nginx 日志时,这三个工具必不可少:
grep "404" access.log (找出所有 404 请求)sed -i 's/80/8080/g' nginx.conf (将端口 80 批量换成 8080)awk '{print $1}' access.log (提取日志中的所有 IP 地址)本章我们将编写一个完整的 Nginx 状态监控脚本。
#!/bin/bash
# 定义变量
NGINX_PATH="/usr/local/nginx/sbin/nginx"
LOG_FILE="/var/log/nginx_monitor.log"
# 定义检查函数
check_nginx() {
# 统计 nginx 进程数量
count=$(ps -ef | grep -v grep | grep nginx | wc -l)
if [ $count -eq 0 ]; then
echo "$(date +'%Y-%m-%d %H:%M:%S') - Nginx 已停止,正在尝试重启..." >> $LOG_FILE
$NGINX_PATH
# 再次检查启动结果
if [ $? -eq 0 ]; then
echo "重启成功。" >> $LOG_FILE
else
echo "重启失败,请检查配置!" >> $LOG_FILE
fi
else
echo "Nginx 运行正常。"
fi
}
# 执行检查
check_nginx