首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
183 阅读
2
UNRAID增加和缩小虚拟机虚拟磁盘大小
49 阅读
3
unraid添加iSCSI 发起程序
39 阅读
4
iStoreOS上使用WireGuard
23 阅读
5
docker安装WireGuard Easy
15 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
Linux
sftp
防火墙
奥黛丽·逐爱者
累计撰写
100
篇文章
累计收到
10
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
100
篇与
奥黛丽·逐爱者
的结果
2025-06-23
20个高效Linux一键巡检脚本 运维工程师的自动化利器!
在大型服务器集群管理中,自动化巡检脚本已成为运维工程师的核心工具。据2024年运维报告显示,使用自动化巡检的系统故障恢复时间平均缩短78%。本文将分享20个经过生产环境验证的复杂巡检脚本,涵盖性能、安全、容器、网络等核心场景。一、基础资源巡检类1. 全维度资源概览脚本#!/bin/bash# 文件名:full_system_check.shLOG="/var/log/full_system_$(date +%F).log"echo"===== 系统基础信息 =====" > $LOGecho"主机名: $(hostname)" >> $LOGecho"OS版本: $(grep PRETTY_NAME /etc/os-release | cut -d\" -f2)" >> $LOGecho"内核版本: $(uname -r)" >> $LOGecho"启动时间: $(uptime -s)" >> $LOGecho -e "\n===== CPU使用率TOP5 =====" >> $LOGps -eo pid,user,%cpu,cmd --sort=-%cpu | head -6 >> $LOGecho -e "\n===== 内存消耗TOP5 =====" >> $LOGps -eo pid,user,%mem,cmd --sort=-%mem | head -6 >> $LOGecho -e "\n===== 磁盘空间告警检测 =====" >> $LOGdf -h | awk '$5 > 80 {print $6 " 使用率: " $5}' >> $LOG用法:chmod +x full_system_check.sh && ./full_system_check.sh输出:生成/var/log下的日志文件,包含关键资源阈值检测2. 动态资源实时监控脚本#!/bin/bash# 文件名:realtime_monitor.shecho"监控开始,按Ctrl+C退出"while :do clearecho"$(date +%T) 实时监控"echo"-----------------------------------"echo"** CPU负载 **" top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print "空闲率: " 100-$1 "%"}'echo -e "\n** 内存压力 **" free -m | awk 'NR==2{printf "已用/总量: %sMB/%sMB (%.2f%%)\n", $3,$2,$3*100/$2}'echo -e "\n** 磁盘IO **" iostat -dx 2 3 | awk '/sd[a-z]/ {print $1 " 平均等待: " $10 "ms 利用率: " $14 "%"}' | tail -n3sleep 5done用法:直接执行,动态刷新系统核心指标二、安全审计类3. 安全合规基线检查#!/bin/bash# 文件名:security_audit.shREPORT="security_audit_$(date +%s).txt"echo"===== 用户安全检测 =====" > $REPORT# 空密码检测awk -F: '$2 == "" {print "空密码账户: " $1}' /etc/shadow >> $REPORT# 超管账户检测awk -F: '$3 == 0 && $1 != "root" {print "异常超管账户: " $1}' /etc/passwd >> $REPORTecho -e "\n===== SSH安全检测 =====" >> $REPORTgrep "PermitRootLogin yes" /etc/ssh/sshd_config && echo"SSH允许root登录: 高风险!" >> $REPORTecho -e "\n===== 防火墙状态 =====" >> $REPORTsystemctl is-active firewalld | grep -q active && firewall-cmd --list-all >> $REPORT || echo"防火墙未运行!" >> $REPORTecho -e "\n===== 关键文件权限 =====" >> $REPORTls -l /etc/passwd /etc/shadow | awk '$1 !~ "-rw-r--r--" {print $9 " 权限异常: " $1}' >> $REPORT用法:需root权限执行,输出当前安全风险项4. 可疑进程扫描脚本#!/bin/bash# 文件名:suspicious_process_scan.sh# 检测隐藏进程echo"隐藏进程检测:"ps -ef | awk 'NR>1 {print $2}' | sort -n | diff <(ls /proc | grep '^[0-9]' | sort -n) - | grep '>' | awk '{print "可疑PID: "$2}'# 检测挖矿进程echo -e "\n挖矿特征检测:"ps aux | awk '{ if ($3 > 50.0 || $4 > 30.0) print "高资源进程: " $11 " (CPU: "$3"%, MEM:"$4"%)" if (match($0, /(xmrig|minerd|cpuminer)/)) print "挖矿进程: " $11 " PID: " $2}'用法:定期执行排查入侵痕迹三、容器化环境专用5. Docker容器健康扫描#!/bin/bash# 文件名:docker_health_check.shecho"===== 容器状态概览 ====="docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"echo -e "\n===== 异常容器检测 ====="docker ps -a | grep -v Up | grep -v "Exited (0)" | awk 'NR>1 {print $1 " 状态异常: " $5}'echo -e "\n===== 资源消耗TOP5 ====="docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" | sort -k2 -hr | head -6用法:需安装Docker,实时输出容器健康状态6. Kubernetes节点巡检#!/bin/bash# 文件名:k8s_node_check.shNODE=$(kubectl get nodes -o name | head -1)echo"===== 节点资源 ====="kubectl describe $NODE | grep -A5 Capacityecho -e "\n===== 异常Pod检测 ====="kubectl get pods -A | grep -v Running | grep -v Completedecho -e "\n===== 服务端口检测 ====="netstat -tuln | grep -E ":(80|443|6443)"用法:需配置kubectl权限,检查K8s节点状态四、存储与网络专项7. LVM存储健康检查#!/bin/bash# 文件名:lvm_health_check.shecho"===== VG空间使用率 ====="vgs --units g -o vg_name,vg_size,vg_free | awk 'NR>1 {printf "%s 可用空间: %.1fG\n", $1, $3}'echo -e "\n===== 物理卷错误检测 ====="pvs | grep -v 'Attributes' | awk '$2 != "lvm2" {print $1 " 状态异常: " $2}'echo -e "\n===== 精简池容量告警 ====="lvs -o lv_name,data_percent,metadata_percent --separator="|" | grep thinpool | awk -F\| '$2 > 80 || $3 > 80 {print $1 " 使用率超过80%!"}'用法:检测LVM卷组、精简池风险8. 网络连通性矩阵测试#!/bin/bash# 文件名:network_matrix_test.shTARGETS=("google.com 80""内部数据库IP 3306""存储节点IP 22")TIMEOUT=2for target in"${TARGETS[@]}"; do host=${target% *} port=${target#* } (timeout$TIMEOUT bash -c ">/dev/tcp/$host/$port") &>/dev/null result=$? [ $result -eq 0 ] && status="成功" || status="失败"echo"连通性: $status -> $host:$port"doneecho -e "\n路由跟踪检测:"mtr -n -c 3 --report google.com用法:自定义TARGETS数组检测关键路径五、日志与审计类9. 日志关键错误提取#!/bin/bash# 文件名:critical_log_scan.shLOG_DIRS=("/var/log""/opt/app/logs")ERROR_KEYWORDS=("error""fatal""exception""timeout")fordirin"${LOG_DIRS[@]}"; do find $dir -type f -mtime -1 | whileread logfile; do for keyword in"${ERROR_KEYWORDS[@]}"; do grep -i "$keyword""$logfile" | awk -v file="$logfile"'{print file ": " $0}' donedonedone用法:扫描24小时内含关键错误的日志行10. 用户操作审计报告#!/bin/bash# 文件名:user_audit_report.shUSERS=("root""admin")DAYS=7for user in"${USERS[@]}"; do echo"===== $user 最近${DAYS}天操作 =====" last | grep "$user" | head -10 echo -e "\n** 命令历史摘要 **" grep -H "$user" /home/*/.bash_history | awk -F: '{print $1}' | sort | uniq -c | sort -nrdone用法:监控特权账户操作行为六、高级诊断工具11. 性能瓶颈定位脚本#!/bin/bash# 文件名:performance_bottleneck.shecho"===== 系统负载 ====="uptimeecho -e "\n===== 上下文切换分析 ====="vmstat 2 5 | awk 'NR>=3 {print "上下文切换: " $12 " | 中断: " $11}'echo -e "\n===== 块设备延迟 ====="iostat -xmd 2 3 | awk '/sd[a-z]/ {if ($10 > 50) print $1 " 平均等待: " $10 "ms → 磁盘过载!"}'echo -e "\n===== TCP重传检测 ====="netstat -s | grep -E 'segments retransmited|packet receive errors'用法:定位CPU/IO/网络层瓶颈12. 内存泄漏追踪脚本#!/bin/bash# 文件名:memory_leak_hunter.shPID=$1# 传入进程PIDif [ -z "$PID" ]; thenecho"用法: $0 <进程PID>"exit 1fiecho"监控进程: $(ps -p $PID -o comm=)"echo"采样间隔10秒,持续5次"for i in {1..5}; do rss=$(ps -p $PID -o rss=)echo"$(date +%T) RSS内存: ${rss}KB" pmap $PID | tail -1 | awk '/total/ {print "地址空间: " $2}'sleep 10done用法:./memory_leak_hunter.sh 1234 监控指定进程七、自动化巡检框架13. 多节点批量巡检框架#!/bin/bash# 文件名:multi_node_check.shNODES=("node1""192.168.1.101""app-server")SCRIPT_PATH="/opt/scripts/full_system_check.sh"for node in"${NODES[@]}"; doecho"===== 巡检 $node =====" ssh "$node""bash -s" < $SCRIPT_PATH scp "$node:/var/log/full_system_*.log" ./logs/echo"报告已保存到 ./logs/"done用法:提前配置SSH免密登录,批量执行基础巡检14. 带告警的定时巡检#!/bin/bash# 文件名:scheduled_check_with_alert.shALERT_EMAIL="admin@example.com"LOG="/var/log/scheduled_check.log"# 执行检查项df -h | awk '$5 > 90' > $LOGfree -m | awk 'NR==2 && $3*100/$2 > 90' >> $LOG# 触发告警if [ -s $LOG ]; then mail -s "服务器资源告警 $(hostname)"$ALERT_EMAIL < $LOGecho"$(date) 告警已发送" >> $LOGfi用法:配置cron定时运行,超阈值自动发邮件八、专项场景检测15. Web服务可用性检测#!/bin/bash# 文件名:web_service_check.shURLS=("https://example.com""http://api.example.com/health")TIMEOUT=10for url in"${URLS[@]}"; do status=$(curl -o /dev/null -s -w "%{http_code}" --connect-timeout $TIMEOUT$url)if [ "$status" -ne 200 ]; then echo"服务异常: $url 状态码: $status" # 自动重启示例 systemctl restart nginxfidone用法:监控Web服务状态,异常自动恢复16. 数据库连接池检测#!/bin/bash# 文件名:db_connection_check.shDB_HOST="192.168.1.100"DB_PORT=3306MAX_CONN=200current_conn=$(mysql -u monitor -p"密码" -h $DB_HOST -e "SHOW STATUS LIKE 'Threads_connected'" | awk 'NR==2 {print $2}')echo"当前连接数: $current_conn"if [ "$current_conn" -ge $MAX_CONN ]; thenecho"警告!连接数超过阈值 $MAX_CONN"# 自动扩展连接池 ansible-playbook scale_db_pool.ymlfi用法:MySQL连接池监控与自动扩容九、安全加固类17. 漏洞扫描自动化#!/bin/bash# 文件名:vulnerability_scan.shecho"===== 内核漏洞检测 ====="rpm -q --changelog kernel | grep CVEecho -e "\n===== SSL协议检测 ====="openssl s_client -connect example.com:443 < /dev/null 2>&1 | grep "Protocol"echo -e "\n===== 提权漏洞扫描 ====="find / -perm -4000 -type f 2>/dev/null | xargs ls -l | awk '$3=="root" {print $9}'用法:快速检测常见安全漏洞18. 文件完整性校验#!/bin/bash# 文件名:file_integrity_check.shBASE_DIR="/etc"CHECKSUM_FILE="/opt/security/.etc_checksums"# 生成新校验和find $BASE_DIR -type f -execsha256sum {} + > /tmp/new_checksums# 对比差异if [ -f "$CHECKSUM_FILE" ]; then diff $CHECKSUM_FILE /tmp/new_checksums | grep '^>' | awk '{print "文件被修改: " $3}'fi# 更新基准mv /tmp/new_checksums $CHECKSUM_FILE用法:监控/etc目录文件篡改十、容器专项19. Docker漏洞扫描#!/bin/bash# 文件名:docker_vuln_scan.shecho"===== 基础镜像漏洞扫描 ====="for image in $(docker images -q); doecho"扫描镜像: $(docker inspect $image | grep RepoTag)" docker scout cves $imagedoneecho -e "\n===== 容器特权模式检测 ====="docker ps --format "{{.Names}}" | whileread ctr; do docker inspect $ctr | grep -q "Privileged.*true" && echo"$ctr 运行在特权模式!"done用法:检测镜像漏洞和危险配置20. Kubernetes资源合规检查#!/bin/bash# 文件名:k8s_compliance_check.shecho"===== 未设资源限制的Pod ====="kubectl get pods -A -o json | jq -r '.items[] | select(.spec.containers[].resources.limits == null) | .metadata.namespace + "/" + .metadata.name'echo -e "\n===== 特权容器检测 ====="kubectl get pods -A -o json | jq -r '.items[] | select(.spec.containers[].securityContext.privileged == true) | .metadata.namespace + "/" + .metadata.name'echo -e "\n===== ConfigMap敏感数据检测 ====="kubectl get configmaps -A -o json | jq -r '.items[] | select(.data != null) | .metadata.namespace + "/" + .metadata.name + ": " + (.data | keys[] | select(. | test("pass|secret|key")))'用法:需安装jq,检查K8s资源合规性脚本使用高级技巧1. 定时任务配置# 每天凌晨2点执行全量巡检0 2 * * * /opt/scripts/full_system_check.sh# 每5分钟检查服务状态*/5 * * * * /opt/scripts/web_service_check.sh2. 结果可视化方案# 生成HTML报告full_system_check.sh | ansi2html > report.html# 使用ELK集中分析curl -XPOST 'http://elk:9200/server/logs' -d @system_check.json3. 企业级巡检架构 +----------------+ +-----------------+ +---------------+ | 节点执行脚本 | --> | 报告汇总服务器 | --> | 告警平台 | +----------------+ +-----------------+ +---------------+ ^ | | v [cron定时触发] [Grafana可视化面板]最后总结:20大脚本适用场景速查脚本类型推荐脚本编号核心功能巡检频率基础资源监控1, 2CPU/内存/磁盘实时监控5分钟~1小时安全审计3, 17, 18合规检查/漏洞扫描每日容器环境5, 6, 19, 20容器/K8s健康检查15分钟存储专项7LVM/磁盘性能分析每日网络诊断8, 15连通性/服务可用性1~5分钟日志分析9, 10错误提取/操作审计每小时高级诊断11, 12性能瓶颈/内存泄漏按需自动化框架13, 14批量巡检/告警集成定时任务最佳实践:生产环境推荐采用“基础监控脚本(1/2)+安全脚本(3)+服务脚本(15)”组合,每日全量执行+关键指标实时监控。 以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。
2025年06月23日
0 阅读
0 评论
0 点赞
2025-06-21
docker手册
docker手册安装# 移除旧版本dockersudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine# 配置docker yum源。sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装 最新 dockersudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 启动& 开机启动docker; enable + start 二合一systemctl enable docker --now# 配置加速sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn" ]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker常见命令#查看运行中的容器docker ps#查看所有容器docker ps -a#获取所有容器id:docker ps -aq#搜索镜像docker search nginx#下载镜像docker pull nginx#下载指定版本镜像docker pull nginx:1.26.0#查看所有镜像docker images#删除指定id的镜像docker rmi e784f4560448#运行一个新容器docker run nginx#停止容器docker stop keen_blackwell#启动容器docker start 592#重启容器docker restart 592#查看容器资源占用情况docker stats 592#查看容器日志docker logs 592#删除指定容器docker rm 592#强制删除指定容器docker rm -f 592# 后台启动容器docker run -d --name mynginx nginx# 后台启动并暴露端口docker run -d --name mynginx -p 80:80 nginx# 进入容器内部docker exec -it mynginx /bin/bash# 查看容器详情docker container inspect mynginxdocker inspect mynginx# 提交容器变化打成一个新的镜像docker commit -m "update index.html" mynginx mynginx:v1.0# 保存镜像为指定文件docker save -o mynginx.tar mynginx:v1.0# 删除多个镜像docker rmi bde7d154a67f 94543a6c1aef e784f4560448# 加载镜像docker load -i mynginx.tar # 登录 docker hubdocker login# 重新给镜像打标签docker tag mynginx:v1.0 leifengyang/mynginx:v1.0# 推送镜像docker push leifengyang/mynginx:v1.0存储两种方式,注意区分:● 目录挂载: -v /app/nghtml:/usr/share/nginx/html● 卷映射:-v ngconf:/etc/nginx---------------------------------1、卷映射:-v 卷:容器内目录2、卷在外部主机默认存放位置:/var/lib/docker/volumes/卷名3、列出所有的卷操作docker volume ls4、创建一个卷docker volume create 卷名5、查看某个卷的详情docker volume inspect 卷名网络docker network --help# 创建自定义网络,实现主机名作为稳定域名访问。# 自定义网络docker network create mynet# docker为每个容器分配唯一IP,使用容器ip+容器端口可以互相访问# 运行镜像并且添加为自定义网络docker run -d -p 88:80 --name app01 --network mynet nginxDockerfile 自定义镜像指令作用FROM指定镜像基础环境RUN运行自定义命令CMD容器启动命令或参数LABEL自定义标签EXPOSE指定暴露端口ENV环境变量ADD添加文件到镜像COPY复制文件到镜像ENTRYPOINT容器固定启动命令VOLUME数据卷USER指定用户和用户组WORKDIR指定默认工作目录ARG指定构建参数构建命令docker build -f Dockerfile -t mynginx:v1.0 .
2025年06月21日
1 阅读
0 评论
0 点赞
2025-06-21
如何使用 Rsync 将一台主 Web 服务器上的文件和目录同步到另一台备份服务器
在管理 Web 服务器时,确保数据安全且在发生故障时能够快速恢复至关重要,备份和镜像 Web 服务器数据最可靠的方法之一是使用 rsync。Rsync 工具可以帮助在两台服务器之间同步文件和目录,非常适合用于创建 Web 服务器数据的备份和镜像。下面将详细介绍使用 rsync 将 Web 服务器与备份服务器进行同步。同时介绍设置无密码登录,通过 cron 定时任务实现自动化的同步过程。1.环境说明现在有两台服务器,一台为主 WEB 服务器,另一台为备份服器,其关键信息如下表所示:服务器类型IP 地址主机名主 Web 服务器192.168.250.100web.test.com备份服务器192.168.250.200backup.test.com其拓扑图如下:注:两台服务器之间应启用 SSH 访问,这将用于通过 SSH 密钥设置无密码登录,从而实现顺畅的自动化操作。2.设置无密码 SSH 登录为了通过 cron 自动化同步过程,需要从主 Web 服务器(主服务器)到备份服务器设置无密码 SSH 登录,这将允许 rsync 在每次运行时无需输入密码。登录到主 Web 服务器(web.test.com),生成 SSH 密钥,并确保接受默认的文件位置且不设置密钥密码。ssh-keygen -t rsa -b 2048接下来,使用 ssh-copy-id 命令将公钥复制到备份服务器:ssh-copy-id admin@192.168.250.200最后,通过从主 Web 服务器登录到备份服务器来测试连接:ssh admin@192.168.250.200如果无需输入密码即可登录,则表示设置成功。3.使用 Rsync 同步 Web 服务器数据现在我们已经设置了无密码 SSH,可以使用 rsync 将 Web 服务器的数据同步到备份服务器。Web 服务器的数据通常存储在 /var/www/html/ 目录中,我们将使用该目录进行备份和镜像。# 基本的 Rsync 命令用法补充要在主 Web 服务器(web.test.com)上执行一次性备份,请运行以下命令:rsync -avz /var/www/html/ user@host_ip:/path/to/backup/directory上述命令的解释如下:-a 表示“归档模式”,可保留文件的权限、时间戳和其他属性。-v 启用详细输出,以便您可以看到正在传输的文件。-z 启用压缩,以减少数据传输量。1)将文件同步到备份服务器目录将 /path/to/backup/directory 替换为备份服务器(这里假设备份服务器的备份目录在/data/backup/web下)上规划存储备份的实际路径。例如:rsync -avz /var/www/html/ admin@192.168.250.200:/data/backup/web2)镜像 Web 服务器目录如果需要镜像目录(即使备份与源目录完全一致),可以使用 --delete 选项:rsync -avz --delete /var/www/html/ admin@192.168.250.200:/data/backup/web--delete参数会删除备份目录中不再存在于 Web 服务器上的文件,确保两个目录完全一致。4.使用 Cron 自动化备份为了确保定期备份,我们可以使用 cron 定时任务自动运行 rsync 命令,这样备份过程将在指定的时间运行,例如每天午夜。在主 Web 服务器(web.test.com)上,通过运行以下命令打开 crontab 文件:crontab -e要将备份设置为每天00:00运行,请在 crontab 中添加以下行:0 0 * * * rsync -avz --delete /var/www/html/ admin@192.168.250.200:/data/backup/web保存 crontab 文件并退出,这样 cron 任务将每天自动在凌晨 12:00 运行(半夜时分)。也可以根据需要调整时间,比如,要改成每天凌晨 1:00 运行,可以这样修改:0 1 * * * rsync -avz --delete /var/www/html/ admin@192.168.250.200:/data/backup/web5.验证备份设置好 cron任务后,可以通过检查系统日志来验证 cron 任务是否按预期运行:grep CRON /var/log/syslog登录到备份服务器(backup.test.com),检查 /data/backup/web 目录中的文件是否与主 Web 服务器上的 /var/www/html/ 目录中的文件一致。我们还可以通过在主 Web 服务器上删除一个文件,然后验证在下一次 rsync 运行后该文件是否从备份目录中删除,来进行测试。
2025年06月21日
1 阅读
0 评论
0 点赞
2025-06-21
13、Dockerfile-制作镜像
纸上得来终觉浅,绝知此事要躬行,整理不易,如果你觉得对你有帮助,麻烦小小的赞助一波腾讯云服务器链接:https://curl.qcloud.com/qZO3kFyldockerfile允许你创建自己应用程序的镜像,不仅仅只能从应用市场下载下来,构建镜像常用的流程图如下构建镜像常用的命令如下,更详细的需要去docker官网去查看相关的命令https://docs.docker.com/reference/dockerfile/构建命令常见的类似这种:docker build -f Dockerfile -t myapp:v1.0 .后续我会以实战的模式部署一个netcore程序 到时候再详细讲,dockerfile文件一般简单这种写即可docker镜像分层存储机制容器有自己的读写层,所以容器删除了容器自己的读写层就丢了,就没法再读取相关数据,但是镜像有自己的分层不会删除不同容器有自己的读写层,互相隔离 互不影响,docker宗旨能共用则共用,分层存储 各自执行好了小伙伴们,今天先到这里赶快去试试吧,可以看看下面短剧适当放松下,感觉还挺有意思的
2025年06月21日
1 阅读
0 评论
0 点赞
2025-06-18
4.3K Star!一键同步文章到多个内容平台!神器!
推荐阅读:1.2K Star!一款好用又强大的开源社区!五星好评!14.6K Star!一个免费没有限制的录屏工具!很强!推荐:全球第一个AI旅行伙伴问世!太有创意了!大家好啊!我是老码!专门搜罗分享一些优秀开源项目、工具软件、AI工具等以及进行一些原创技术分享和干货文章分享!喜欢的可以点个关注哟!当你还在为一篇内容发布多个平台复制粘贴脑壳疼的时候,别人已经用上自动化多个平台分发工具了。最近在开源网站上看到一个这样的项目,它可将微信公众号等平台的文章一键同步到今日头条、WordPress、知乎、简书、掘金、CSDN、typecho 等多个主流内容平台,实现一次发布,多平台同步发布,极大地提高了内容创作者的效率。它的一些特性有: 公众号文章同步,Markdown 编辑器,网页正文提取(基于 Safari 阅读模式) 可实现多平台互同步,本地Markdown同步,Markdown支持公众号样式定义。它支持同步的平台包括但不限于以下平台:微信公众号、知乎、微博、Bilibili、豆瓣、头条号、搜狐号、大鱼号、一点资讯、CSDN、51CTO、Segmentfault、掘金、开源中国、Typecho、WordPress。使用方法安装 :可以直接从 Chrome 插件商店搜索进行安装;如果无法访问 Chrome 官方商店,也可从 GitHub 下载插件的解压文件,通过 Chrome 浏览器的开发者模式进行离线安装。同步文章 :安装完成后,在浏览器的插件栏中找到插件,点击后选择要同步的文章,点击 “同步” 按钮,设置完同步平台等选项后,即可将文章同步到选择的平台。这个多平台同步工具叫——Wechatsync,如果你是一个多平台的自媒体创作者,我想这个工具可能是一个非常不错的工具,它能显著减少了在多个平台分别发布文章所花费的时间和精力,提高了工作效率;地址:https://github.com/wechatsync/Wechatsync往期精彩回顾推荐:一款功能强大的AI视频生成工具!有点强!点赞!几个很有用的网站工具!建议收藏!推荐:一个基于AI的自动化工具!懒人解放!优秀!一个非常酷的框架,Ai编码、流程编排、模块化、插件化!点赞!推荐:让windows焕然一新的工具!轻量高颜值!很有趣!一个开源的聊天记录分析与管理工具!点赞!推荐:3个你可能没见过的工具!非常好用!4.5K Star!电脑轻松掌控手机!延迟低功能强!推荐!一个高颜值的中后台模版!开箱即用!免费又实用!3个鲜为人知的高质量网站!都是精品!18.1K Star!让AI帮你写前端!聊聊天就搞定!
2025年06月18日
1 阅读
0 评论
0 点赞
1
...
4
5
6
...
20