在服务器上使用 Docker,常用命令按功能分类整理

在服务器上使用 Docker,常用命令按功能分类整理如下,涵盖镜像、容器、网络、卷、系统信息及日常运维。


一、镜像管理

命令 说明
docker imagesdocker image ls 列出本地镜像
docker pull <镜像名>[:标签] 拉取镜像(如 docker pull ubuntu:22.04
docker build -t <镜像名> <上下文路径> 根据 Dockerfile 构建镜像
docker push <镜像名> 推送镜像到仓库
docker rmi <镜像ID或名称> 删除本地镜像
docker tag <源镜像> <目标镜像> 为镜像打标签
docker save -o <文件名>.tar <镜像名> 导出镜像为 tar 文件
docker load -i <文件名>.tar 从 tar 文件导入镜像

二、容器管理

命令 说明
docker ps 列出运行中的容器
docker ps -a 列出所有容器(包括停止的)
docker run [选项] <镜像名> [命令] 创建并启动一个容器(常用 -d 后台运行,-p 端口映射,-v 挂载卷,--name 命名)
docker start <容器名或ID> 启动一个已停止的容器
docker stop <容器名或ID> 停止运行中的容器
docker restart <容器名或ID> 重启容器
docker rm <容器名或ID> 删除容器(需先停止)
docker exec -it <容器名或ID> /bin/bash 进入正在运行的容器(交互式 shell)
docker logs [-f] <容器名或ID> 查看容器日志(-f 持续输出)
docker top <容器名或ID> 查看容器内的进程
docker cp <容器名:路径> <宿主机路径> 从容器复制文件到宿主机
docker cp <宿主机路径> <容器名:路径> 从宿主机复制文件到容器
docker commit <容器名或ID> <新镜像名> 将容器保存为新镜像(不推荐,应使用 Dockerfile)
docker diff <容器名或ID> 查看容器文件系统的变化

三、网络管理

命令 说明
docker network ls 列出所有网络
docker network create <网络名> 创建自定义网络
docker network inspect <网络名> 查看网络详情
docker network connect <网络名> <容器名> 将容器连接到网络
docker network disconnect <网络名> <容器名> 断开容器与网络
docker network rm <网络名> 删除网络
docker port <容器名> 查看容器端口映射

四、卷管理(数据持久化)

命令 说明
docker volume ls 列出所有卷
docker volume create <卷名> 创建卷
docker volume inspect <卷名> 查看卷详情
docker volume rm <卷名> 删除卷
docker volume prune 删除所有未使用的卷

五、系统信息与清理

命令 说明
docker info 显示 Docker 系统信息(版本、内核、容器数等)
docker version 显示 Docker 客户端和服务器版本
docker system df 查看镜像、容器、卷的磁盘占用
docker system prune 清理停止的容器、未使用的镜像、网络等(谨慎使用)
docker system prune -a 更彻底的清理(包括未被使用的镜像)
docker stats 实时查看容器资源使用(CPU、内存等)
docker events 查看 Docker 守护进程事件流

六、Docker Compose(多容器编排)

如果安装了 docker-compose(或新版 docker compose 插件):

命令 说明
docker-compose up -ddocker compose up -d 启动服务(-d 后台运行)
docker-compose down 停止并删除容器、网络
docker-compose logs 查看服务日志
docker-compose exec <服务名> /bin/bash 进入指定服务的容器
docker-compose ps 查看服务状态
docker-compose build 构建服务镜像
docker-compose pull 拉取服务依赖的镜像
docker-compose restart 重启所有服务

七、实用组合技巧

  • 删除所有停止的容器docker container prune
  • 删除所有未使用的镜像docker image prune -a
  • 一键清理所有未使用的资源docker system prune -a --volumes(谨慎操作)
  • 批量操作 :结合 xargs,例如删除所有名中含 test 的容器:docker ps -a | grep test | awk '{print $1}' | xargs docker rm

掌握这些常用命令,基本可以覆盖日常的 Docker 运维、开发测试和部署工作。如果需要针对某个场景(如挂载卷、网络配置)的详细示例,可以进一步说明。

相关推荐
2601_962128269 小时前
Nginx目录结构
运维·nginx
MayZork10 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
yyuuuzz10 小时前
记一次 VPS 性能排查:共享 CPU 突发额度导致的限流
运维·服务器·人工智能
冰雪青松10 小时前
Ubuntu 运维命令大全:从入门到精通的实战参考手册
运维·服务器·ubuntu
gx234810 小时前
控制器管理
docker·容器·kubernetes
前端 贾公子10 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
CDN36010 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里11 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
白清羽12 小时前
7.3系统安装docker
运维·docker·容器
Dovis(誓平步青云)12 小时前
折叠屏悬停看视频,上半屏和下半屏应该各做什么
android·java·服务器·开发语言·安全·音视频