博客自动构建镜像更新脚本
330 字
2 分钟
博客自动构建镜像更新脚本
主要自动build更新内容,每次手动敲真累~~~~
脚本内容
#!/bin/bash
DATA_DIR="/opt/mizukiv/data"
echo "正在初始化数据目录..."mkdir -p "$DATA_DIR/logs"mkdir -p "$DATA_DIR/config"mkdir -p "$DATA_DIR/html"
if [ ! -f "$DATA_DIR/config/nginx.conf" ]; then echo "创建默认nginx配置..." cat > "$DATA_DIR/config/nginx.conf" << 'EOF'server { listen 5090; server_name localhost; root /usr/share/nginx/html; index index.html;
gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; gzip_min_length 1000;
location / { try_files $uri $uri/ $uri.html =404; }
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 1y; add_header Cache-Control "public, immutable"; }
error_page 404 /404.html; error_page 500 502 503 504 /50x.html;}EOFfi
echo "正在构建Docker镜像..."docker build --no-cache -t mizukiv . || { echo "构建失败!退出部署脚本。" exit 1}echo "检查是否有正在运行的容器..."container_id=$(docker ps -q --filter "name=mizukiv")if [ -n "$container_id" ]; then echo "停止正在运行的容器: $container_id" docker stop $container_id docker rm $container_idfi
echo "更新静态文件..."echo "清理旧静态文件..."rm -rf "$DATA_DIR/html/*"echo "从镜像复制新静态文件..."docker create --name mizukiv-temp mizukivdocker cp mizukiv-temp:/usr/share/nginx/html/. "$DATA_DIR/html/"docker rm mizukiv-tempecho "静态文件更新完成"
echo "启动新容器..."docker run -d \ -p 5090:5090 \ --name mizukiv \ --restart unless-stopped \ -v "$DATA_DIR/logs:/var/log/nginx" \ -v "$DATA_DIR/config/nginx.conf:/etc/nginx/conf.d/default.conf:ro" \ -v "$DATA_DIR/html:/usr/share/nginx/html" \ mizukiv
echo "容器已启动,数据持久化目录: $DATA_DIR"echo " - 日志目录: $DATA_DIR/logs"echo " - 配置目录: $DATA_DIR/config"echo " - 静态文件: $DATA_DIR/html"
# echo "显示容器日志..."# docker logs -f mizukiv文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
给 Stalwart 邮件服务器挂上阿里云邮件推送 SMTP 中继
服务器解决家用宽带发 Gmail 被拒 550 5.7.25 的问题,完整记录阿里云邮件推送 + Stalwart v0.16.19 的中继配置、踩坑与验证方法。
2
Stalwart 邮件服务器完整部署
服务器环境:\<SERVER\_IP> (Ubuntu, Docker) / 域名 `example.com` / 公网 IP `<PUBLIC_IP>`(动态,路由器 DDNS 自动更新 A 记录)/ DNS 托管于腾讯云 EdgeOne\
3
多元无知:为什么大家只记住了 3W8
社会心理学一次群聊小实验,看穿“多元无知”:当一句裹着玩笑的脆弱被抛出,为什么所有人只接住了最安全的那部分。
4
给博客写个本地管理 CLI
折腾一个零依赖的 Python 小工具,让你在本地用顺手的编辑器写文章、发动态、管友链,一条命令通过 SMB 同步到服务器并(可选)重建发布
5
biliup → AstrBot(QQ) 录播完成通知 修复
服务器biliup 录制上传后通过 watch_backup.py 监听备份目录,经 push_lite 推送到 AstrBot QQ 群的通知链路修复记录
随机文章随机推荐



