【运维必备】Docker/K8s/Linux 高频命令速查手册(持续更新)
本文总结了日常开发运维中最高频的 Docker、Kubernetes、Linux 命令,涵盖环境搭建、容器管理、故障排查与发布回滚等场景,每条命令均附带场景说明与关键参数解释,适合运维及全栈开发者速查收藏。
👍如果觉得有用,请点赞、收藏支持一下,您的鼓励是我持续更新的最大动力!
📌 推荐点击顶部「⭐ 收藏」,随时速查,不怕忘记命令。
📅 **本周更新于 [日期] 2026-05-13:新增《Docker 存储卷信息查看》命令集,以及一条私藏的 Pod 调试命令。
一、Docker 环境快速搭建
以下命令均已测试,用于快速拉起常用中间件。请务必将密码、IP等占位符替换为自己的真实值。
1.1 Portainer(Docker Web 管理界面)
提供图形化容器管理能力。
dockerrun-d-p9000:9000--restart=always\-v/var/run/docker.sock:/var/run/docker.sock\--nameportainer portainer/portainer说明:-v 挂载 Docker 守护进程,使 Portainer 能管理本机容器。
1.2 Jenkins(CI/CD 利器)
dockerrun-d-p8081:8080-p50000:50000\-v/app/jenkins_home:/var/jenkins_home\--namejenkins--privileged=true--restart=always-uroot jenkins关键参数:–privileged=true 赋予容器更高权限,-u root 以 root 运行避免权限问题。
1.3 MinIO(对象存储)
dockerrun-p9000:9000--nameminio-d--restart=always\-e"MINIO_ACCESS_KEY=your_access_key"\-e"MINIO_SECRET_KEY=your_secret_key"\-v/data/minio/data:/data/minio\-v/data/minio/config:/root/.minio\minio/minio server /data/minio--address":9000"注意:访问密钥请使用强密码,并妥善保管。
1.4 RabbitMQ(消息队列)
bash
-p 15672:15672 -p 5672:5672 rabbitmq:management端口:15672 为管理界面,5672 为 AMQP 协议端口。
1.5 Redis(缓存)
dockerrun-p6379:6379--restart=always--nameredis\-v/app/redis/redis.conf:/etc/redis/redis.conf\-v/app/redis/data:/data\-dredis:3.2 redis-server /etc/redis/redis.conf--appendonlyyes说明:挂载自定义配置文件并开启 AOF 持久化。
1.6 YApi(接口管理平台)
先启动 MongoDB:
dockerrun-d--restart=always--namemongo-yapi mongo安装 YApi 服务:
dockerrun--restart=always-it--rm--linkmongo-yapi:mongo\--entrypointnpm--workdir/api/vendors\registry.cn-hangzhou.aliyuncs.com/anoy/yapi run install-server启动 YApi:
dockerrun-d--nameyapi--linkmongo-yapi:mongo\--workdir/api/vendors-p3000:3000\registry.cn-hangzhou.aliyuncs.com/anoy/yapi server/app.js默认管理员:admin@admin.com,密码 ymfe.org(请登录后立即修改)。
1.7 Nexus3(制品仓库)
dockerrun-d-p8081:8081-p8082:8082-p8083:8083\--namenexus-v/data/nexus-data:/nexus-data\--restart=always sonatype/nexus31.8 kkFileView(文件在线预览)
dockerrun-p8012:8012--namekkfileview-d--restart=always\914423503/kkfileview:latest1.9 Docker 私有 Registry
dockerrun-d-v/opt/registry:/var/lib/registry\-p5000:5000--restart=always--nameregistry registry:2若需开启删除功能:
dockerrun-d-v/app/repositories:/var/lib/registry\-eREGISTRY_STORAGE_DELETE_ENABLED=true\-p5000:5000--restart=always--privileged=true--nameregistry registry:21.10 Canal(MySQL binlog 同步)
dockerrun-p11111:11111--namecanal-d\-v/app/canal/canal.properties:/home/admin/canal-server/conf/canal.properties\-v/app/canal/instance.properties:/home/admin/canal-server/conf/example/instance.properties\canal/canal-server或通过环境变量直接运行:
shrun.sh-ecanal.auto.scan=false\-ecanal.destinations=test\-ecanal.instance.master.address=127.0.0.1:3306\-ecanal.instance.dbUsername=canal\-ecanal.instance.dbPassword=your_password\-ecanal.instance.connectionCharset=UTF-8\-ecanal.instance.tsdb.enable=true\-ecanal.instance.gtidon=false1.11 Magento2 电商环境
MySQL:
dockerrun--restart=always--namemysql-magento2-d-p3306:3306\-eMYSQL_ROOT_PASSWORD=your_root_pwd\-eMYSQL_DATABASE=magento2\-eMYSQL_USER=dbadmin\-eMYSQL_PASSWORD=your_db_pwd\-v/app/magento2/mysql:/var/lib/mysql mysql:5.6Magento2 应用:
dockerrun--restart=always-d--namemagento2-p85:80\-v/app/magento2/data:/data alexcheng/magento21.12 Apollo 配置中心(MySQL)
dockerrun--restart=always--namemysql-apollo-d-p3307:3306\-eMYSQL_ROOT_PASSWORD=your_root_pwd\-v/app/apollo/mysql:/var/lib/mysql mysql:5.71.13 Rancher 单节点(容器管理平台)
dockerrun-d--privileged-eJAVA_OPTS="-Xmx1024m"\--restart=unless-stopped-p80:80-p443:443\-v/data/rancher/data:/var/lib/rancher/\-v/data/rancher/auditlog:/var/log/auditlog\-eCATTLE_SYSTEM_CATALOG=bundled-eAUDIT_LEVEL=3\rancher/rancher:stable二、Docker 容器管理常用操作
2.1停止并删除所有容器
dockerstop$(dockerps-aq)dockerrm$(dockerps-aq)2.2排除特定容器后停止
dockerstop$(dockerps-aq|grep-v'0b67b338dd61')2.3查看磁盘使用概况
dockersystemdf输出示例:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 12 3 2.345GB 1.876GB (79%) Containers 5 2 15.2MB 0B (0%) Local Volumes 8 2 500MB 300MB (60%) Build Cache 0 0 0B 0B 注意:RECLAIMABLE 表示可回收空间。想看更详细的信息(包括每个镜像、容器、卷的占用):
dockersystemdf-v2.4 docker 处理存储卷(Volume)
1.列出所有卷:dockersystemdf-v2.查看某个卷的详细信息(挂载点、驱动等):dockervolume inspect my_volume_name3.查看所有卷的占用空间(需要遍历):dockervolumels-q|xargs-I{}dockervolume inspect{}|jq'.[0].Mountpoint'|xargsdu-sh4.删除所有未被使用的卷(清理磁盘神器)dockervolume prune5.查看容器挂载的卷或目录dockerinspect-f'容器: {{.Name}}{{"\n"}}{{range .Mounts}} 宿主机: {{.Source}} => 容器内: {{.Destination}}{{"\n"}}{{end}}'容器名或ID2.5:Docker 资源限制与管理
# 1. 查看所有容器的资源使用(CPU、内存、网络、磁盘)dockerstats--all# 2. 限制容器使用最多 512M 内存和 0.5 核 CPUdockerrun-d--namemy-app--memory="512m"--cpus="0.5"my-image# 3. 查看 Docker 事件流(实时监控容器启停、删除等操作)dockerevents三、Linux 常用操作
3.1 tar.gz 大文件拆分与合并
文件拆分(500M):tarcjf - nexus-data.tar.gz|split-b500M - nexus-data.tar.gz. 文件合并还原:catnexus-data.tar.gz.*|tarxj3.2 计算文件 MD5
md5sum nexus-data.tar.gz四、Kubernetes 常用运维命令
4.1 查询所有启动失败 Pod 的镜像
kubectl-ncoding get pod|grep0/|awk'{print $1}'|\xargskubectl get po-ncoding-oyaml|grepimage:4.2 进入 Pod 内的 MySQL(解决乱码)
kubectlexec-itmysql-0envLANG=C.UTF-8bash-nmysql mysql-uroot-proot--default-character-set=utf84.3 强制删除所有 Terminating 状态的 Pod
kubectl get po-ncoding|grepTerminating|awk'{print $1}'|\xargskubectl delete po-ncoding --grace-period=0--force4.4 Deployment 回滚
回滚到上一个版本: kubectl rollout undo deployment/micro-frontend-team-ncoding查看历史版本:
kubectl rollouthistorydeployment/e-coding-ncoding回滚到指定版本
kubectl rollout undo deployment/e-coding --to-revision=66-ncoding4.5 更新 Deployment 镜像
kubectlsetimage deploy micro-frontend-vcs\micro-frontend-vcs=your-registry/your-image:tag五、其他实用工具与配置
5.1 国内源安装 Docker Compose
curl-Lhttps://get.daocloud.io/docker/compose/releases/download/1.24.0/docker- compose-`uname-s`-`uname-m`>/usr/local/bin/docker-composechmod+x /usr/local/bin/docker-composedocker-compose--version5.2 Docker 镜像加速器
/etc/docker/daemon.json: json{"registry-mirrors":["https://your-id.mirror.aliyuncs.com","http://hub-mirror.c.163.com","https://registry.docker-cn.com"]}5.3 自签 SSL 证书生成
./create_self-signed-cert.sh\--ssl-trusted-ip=192.168.1.10,192.168.1.11\--ssl-size=2048--ssl-date=3650提示:请替换为自己的主机 IP 列表。
5.4 Helm 与 Tiller 安装(K8s 包管理)
下载并安装 Helm 客户端wgethttps://get.helm.sh/helm-v2.14.1-linux-amd64.tar.gztar-zxvfhelm-v2.14.1-linux-amd64.tar.gzmvlinux-amd64/helm /usr/local/bin/chmoda+x /usr/local/bin/helm创建 RBAC 并初始化 Tiller(示例)kubectl create-frbac-config.yaml helm init-iregistry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3\--stable-repo-url http://mirror.azure.cn/kubernetes/charts/\--service-account tiller--overridespec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm'\--outputyaml|sed's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@'|kubectl apply-f-5.5 Jenkins 更新中心加速
http://mirror.xmission.com/jenkins/updates/current/update-center.json结语
🛠️ 这份速查表会持续更新,目标是成为你最顺手的运维工具箱。
⭐ 如果对你有帮助,请给本文一个「点赞」+「收藏」,这是我们持续输出的最大动力!
🙋♂️讨论话题:你日常运维中最离不开的命令是哪一个?请打在评论区,我会把高赞推荐整理补充进正文,一起共建!