当前位置: 首页 > news >正文

【部署相关】DockerKuberbetes常用命令大全(速查+解释)

一、Docker常用命令

  1. 镜像相关
# 拉取镜像
docker pull nginx:latest# 查看本地镜像
docker images# 删除镜像
docker rmi nginx:latest# 构建镜像
docker build -t myapp:v1 .
  1. 容器运行管理相关
# 启动一个新的容器(如果本地没有该镜像则docker会自动拉取)
docker run -d --name mynginx -p 8080:80 nginx:latest# 查看运行中的容器
docker ps# 查看所有容器,包括已经退出的
docker ps -a#停止容器/启动容器
docker stop mynginx
docker start mynginx#删除容器 加上-f可以强制删除
docker rm mynginx
  1. 容器内部操作
# 进入容器内部交互终端
docker exec -it mynginx /bin/bash# 查看容器日志
docker logs -f mynginx
  1. 其他常用
# 查看系统资源使用
docker stats# 清理无用资源(dangling镜像,停止的容器)
docker system prune -发

二、docker-compose常用命令

# 启动(后台)
docker-compose up -d# 停止并删除容器
docker-compose down # 查看服务日志
docker-compose logs -f # 重启服务
docker-compose restar

三、Docker Swarm(集群控制)

swarm 是Docker自带的原生集群与服务编排模式,和Docker-compose配合可以扩展到多机。

  1. 初始化&节点管理
# 初始化swarm 当前节点为manager
docker swarm init# 让worker节点加入集群(在其他节点执行)
docker swarm join --token <token> <manager-ip>:2377# 查看当前节点信息
docker node ls # 查看节点的详细状态
docker node inspect <node-id>
  1. 服务管理(service)
# 创建一个服务(类似k8s deployment)
docker service create --name myweb -p 80:80 nginx;lastest# 查看服务列表
docker service ls# 查看某个服务的人物(容器副本)
docker service ps myweb# 扩缩容器服务
docker service scale myweb=5# 滚动更新服务镜像
docker service update --image nginx:1.25 myweb# 删除服务
docker service rm myweb
  1. Stack(编排应用,支持docker-compose.yml)
# 部署一个stack(需要在swarm下)
docker stack deploy -c docker-compose.yaml mystack# 查看stack
docker stack ls # 查看stack内的服务
docker stack services mystack# 查看stack内的pod/容器(task)
docker stack ps mystack# 删除stack
docker stack rm mystack
  1. 集群状态调试
# 查看swarm信息
docker info # 查看网络(overlay 网络)
docker network ls 
docker network inspect <network-name>

四、Kubernetes常用命令

  1. 基本资源查看
# 查看节点
kubectl get nodes#查看pod
kubectl get pods -n default
kubectl get pods -A# 查看Deployment / service
kubectl get deploy -n default
kubectl get svc -n default
  1. 资源详细信息
# 查看pod详情(事件、状态等)
kubectl describe pod mypod -n default# 查看pod日志
kubectl logs mypod -n default
kubectl logs -f mypod -c mycontainer -n default
  1. pod调试
# 进入pod容器
kubectl exec -it mypod -n default -- /bin/bash# 启动一个临时pod调试网络
kubectl run tmp --rm -it --image=busybox -- /bin/sh
  1. 部署管理
# 应用yaml配置
kubectl apply -f deployment.yaml# 删除资源
kubectl delete -f depliyment.yaml
kubectl delete pod -n default# 滚动更新
kubectl rollout restart deployment myapp -n default
kubectl rollout status deployment myapp -n default
  1. 集群&调度
# 查看命名空间
kubectl get ns# 切换命名空间
kubectl config set-context --current --namespace=myapp# 查看时间
kubectl get events -n default --sort-by=.metdata.creationTimestamp

五、日常排错组合

# pod crashLoopBackOff
kubectl describe pod <pod> -n <ns>
kubectl logs --previous <pod> -n <ns># 查看容器是否OOMkilled
kubectl describe pod <pod> | grep -A5 "Last State"# 本地临时测试POd
kubectl run -it tmp --rm --image=alpine -- sh

六、总结

Docker更偏向单机容器生命周期管理,常用docker run / ps / logs / exec
docker-compose 用来快速编排多容器应用
kubernetes则是生产级容器编排,常用kubectl get / describe / logs / exec / apply / delete

场景Docker单机Docker SwarmKubernetes(kubectl)
启动容器docker rundocker service createkubectl run / apply
查看运行实例docker psdocker service pskubectl get pods
扩缩容手动多次rundocker service scalekubectl scale
滚动更新需要手动stop&rundocker service updatekubectl rollout
多容器编排docker-compose updocker stack deploykubectl apply
集群节点管理docker node lskubectl get nodes
http://www.lryc.cn/news/625534.html

相关文章:

  • 走进数字时代,融入数字生活,构建数字生态
  • Git#cherry-pick
  • .net core web程序如何设置redis预热?
  • 第7章 React性能优化核心
  • 大数据云原生是什么
  • 微服务架构的演进:从 Spring Cloud Netflix 到云原生新生态
  • React 新拟态登录页面使用教程
  • Rust 入门 返回值和错误处理 (二十)
  • AI安全红队实战:从注入攻击到APT渗透的攻防演练浅谈
  • 【LeetCode】16. 最接近的三数之和
  • 消费者API
  • 知微传感3D相机上位机DkamViewer使用:给相机升级固件
  • 【大白话解析】 OpenZeppelin 的 Address 库:Solidity安全地址交互工具箱​(附源代码)
  • 移动端网页调试实战,内存泄漏问题的发现与优化
  • tange探鸽协议,摄像头选择AP热点配网,记录
  • RWA在DeFi中的应用
  • 电源、电流及功率实测
  • Flink Checkpoint 原理深度剖析与作用讲解(flink面试高频问题)
  • DRM驱动架构浅析-上(DRM基础概要与U-Boot阶段驱动解析)
  • 渗透艺术系列之Laravel框架(二)
  • 链表-2.两数相加-力扣(LeetCode)
  • 第一章 认识单片机
  • 01-Docker-简介、安装与使用
  • 大数据MapReduce架构:分布式计算的经典范式
  • 【力扣 Hot100】 刷题日记——双指针的经典应用
  • 【Linux仓库】进程创建与进程终止【进程·柒】
  • iOS App 混淆工具实战,教育培训类 App 的安全保护方案
  • GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
  • 利用DeepSeek编写的用于写入文本字符串和二进制数据到zip压缩包中的文件的程序
  • 私有化部署全攻略:开源模型本地化改造的性能与安全评测