常用命令
本文档汇总了 MISEB 系统日常运维中常用的命令。
服务管理
启动服务
bash
# 一键启动所有服务
./start.sh
# 或使用docker compose启动
docker compose up -d停止服务
bash
# 一键停止
./stop.sh
# 或使用docker compose停止
docker compose stop重启服务
bash
# 重启所有服务
docker compose restart
# 重启单个服务
docker compose restart miseb-admin
docker compose restart miseb-front
docker compose restart nginx
docker compose restart mysql
docker compose restart redis查看服务状态
bash
# 查看所有容器状态
docker ps -a
# 格式化输出
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# 查看服务状态
docker compose ps日志查看
实时日志
bash
# 查看Admin服务日志
docker logs -f miseb-admin
# 查看Front服务日志
docker logs -f miseb-front
# 查看Nginx日志
docker logs -f miseb-nginx
# 查看MySQL日志
docker logs -f miseb-mysql
# 查看所有服务日志
docker compose logs -f历史日志
bash
# 查看最近100行日志
docker logs --tail 100 miseb-admin
# 查看指定时间后的日志
docker logs --since "2024-01-01T00:00:00" miseb-admin
# 查看最近1小时的日志
docker logs --since 1h miseb-admin
# 查看最近30分钟的日志
docker logs --since 30m miseb-front导出日志
bash
# 导出日志到文件
docker logs miseb-admin > admin.log 2>&1
# 导出最近的日志
docker logs --tail 1000 miseb-admin > admin-recent.log 2>&1镜像管理
拉取镜像
bash
# 登录镜像仓库
docker login docker.cdiwit.com
# 机器人账户登录(注意使用单引号)
docker login docker.cdiwit.com -u 'robot$miseb' -p '您的Token'
# 拉取所有镜像
docker compose pull
# 拉取指定镜像
docker pull docker.cdiwit.com/miseb-multi-mer/admin:latest更新应用
bash
# 拉取最新镜像
docker compose pull
# 重建容器(使用新镜像)
docker compose up -d --force-recreate
# 或者单独更新某个服务
docker compose pull miseb-admin
docker compose up -d --force-recreate miseb-admin清理镜像
bash
# 清理未使用的镜像
docker image prune -f
# 清理所有未使用的资源
docker system prune -f
# 清理所有未使用的资源(包括卷)- 危险!
docker system prune -a --volumes容器操作
进入容器
bash
# 进入Admin容器
docker exec -it miseb-admin /bin/sh
# 进入Front容器
docker exec -it miseb-front /bin/sh
# 进入MySQL容器
docker exec -it miseb-mysql bash
# 进入Redis容器
docker exec -it miseb-redis sh执行命令
bash
# 在MySQL容器中执行SQL
docker exec miseb-mysql mysql -uroot -p'password' -e "SHOW DATABASES;"
# 在Redis容器中执行命令
docker exec miseb-redis redis-cli -a 'password' INFO
# 检查Java进程
docker exec miseb-admin ps aux | grep java资源监控
bash
# 查看容器资源使用情况
docker stats
# 查看容器资源使用(不滚动)
docker stats --no-stream
# 查看指定容器
docker stats miseb-admin miseb-front数据库操作
MySQL命令
bash
# 连接MySQL
docker exec -it miseb-mysql mysql -uroot -p
# 导出数据库
docker exec miseb-mysql mysqldump -uroot -p'password' miseb > backup.sql
# 导入数据库
docker exec -i miseb-mysql mysql -uroot -p'password' miseb < backup.sql
# 查看数据库大小
docker exec miseb-mysql mysql -uroot -p'password' -e \
"SELECT table_schema AS 'Database',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
FROM information_schema.tables GROUP BY table_schema;"Redis命令
bash
# 连接Redis CLI
docker exec -it miseb-redis redis-cli -a 'password'
# 查看内存使用
docker exec miseb-redis redis-cli -a 'password' INFO memory
# 查看所有key数量
docker exec miseb-redis redis-cli -a 'password' DBSIZE
# 清空缓存(危险!)
docker exec miseb-redis redis-cli -a 'password' FLUSHALL备份恢复
数据库备份
bash
# 备份MySQL
docker exec miseb-mysql mysqldump -uroot -p'password' miseb > backup_$(date +%Y%m%d_%H%M%S).sql
# 压缩备份
docker exec miseb-mysql mysqldump -uroot -p'password' miseb | gzip > backup_$(date +%Y%m%d).sql.gz数据库恢复
bash
# 从SQL文件恢复
docker exec -i miseb-mysql mysql -uroot -p'password' miseb < backup.sql
# 从压缩文件恢复
gunzip < backup.sql.gz | docker exec -i miseb-mysql mysql -uroot -p'password' miseb数据卷备份
bash
# 备份MySQL数据卷
docker run --rm -v miseb-mysql-data:/data -v $(pwd):/backup alpine \
tar czf /backup/mysql-data-backup.tar.gz /data
# 备份Redis数据卷
docker run --rm -v miseb-redis-data:/data -v $(pwd):/backup alpine \
tar czf /backup/redis-data-backup.tar.gz /data
# 备份MinIO数据卷
docker run --rm -v miseb-minio-data:/data -v $(pwd):/backup alpine \
tar czf /backup/minio-data-backup.tar.gz /data数据卷恢复
bash
# 恢复MySQL数据卷
docker run --rm -v miseb-mysql-data:/data -v $(pwd):/backup alpine \
tar xzf /backup/mysql-data-backup.tar.gz -C /网络诊断
查看网络
bash
# 查看Docker网络列表
docker network ls
# 查看网络详情
docker network inspect miseb-network网络连通性测试
bash
# 在Admin容器中测试MySQL连接
docker exec miseb-admin ping -c 3 mysql
# 测试Redis连接
docker exec miseb-admin ping -c 3 redis
# 测试端口连通性
docker exec miseb-admin nc -zv mysql 3306健康检查
检查服务健康状态
bash
# 检查Admin健康状态
curl -s http://localhost:8080/actuator/health | jq
# 检查Front健康状态
curl -s http://localhost:8081/actuator/health | jq
# 检查MySQL
docker exec miseb-mysql mysqladmin ping -h localhost
# 检查Redis
docker exec miseb-redis redis-cli -a 'password' ping
# 检查Elasticsearch
curl -s http://localhost:9200/_cluster/health | jq检查端口
bash
# 检查端口占用
netstat -tlnp | grep -E '80|3306|6379|8080|8081|9000|9200'
# 或使用ss命令
ss -tlnp | grep -E '80|3306|6379|8080|8081|9000|9200'性能分析
Java性能分析
bash
# 查看JVM内存使用
docker exec miseb-admin jstat -gc 1 1000
# 生成线程转储
docker exec miseb-admin jstack 1 > thread_dump.txt
# 生成堆转储
docker exec miseb-admin jmap -dump:format=b,file=/tmp/heap.bin 1
docker cp miseb-admin:/tmp/heap.bin ./heap.bin磁盘使用
bash
# 查看Docker磁盘使用
docker system df
# 详细信息
docker system df -v定时任务示例
定时备份数据库
bash
# 编辑crontab
crontab -e
# 每天凌晨2点备份
0 2 * * * docker exec miseb-mysql mysqldump -uroot -p'password' miseb > /backup/mysql/backup_$(date +\%Y\%m\%d).sql
# 保留最近7天的备份
0 3 * * * find /backup/mysql -name "*.sql" -mtime +7 -delete定时清理日志
bash
# 每周清理Docker日志
0 4 * * 0 docker system prune -f