在服务器上使用 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 运维、开发测试和部署工作。如果需要针对某个场景(如挂载卷、网络配置)的详细示例,可以进一步说明。

相关推荐
RisunJan11 小时前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
.千余11 小时前
【Linux】基本指令3
linux·服务器·开发语言·学习
热爱Liunx的丘丘人12 小时前
Ansible-doc及常用模块
linux·运维·服务器·ansible
tianyuanwo12 小时前
OS/DevOps程序员切入Harness Engineering的入门与进阶指南
运维·devops·harness
飞飞传输13 小时前
国产化FTP替代方案哪个好?选对平台让传输更安全高效
大数据·运维·安全
一生了无挂13 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
王飞飞不会飞13 小时前
Mac 安装Hermes Agent 过程记录
运维·深度学习·机器学习
徐子元竟然被占了!!13 小时前
Nginx
运维·nginx
SPC的存折14 小时前
6、Docker常用配置
运维·docker·容器
yngsqq14 小时前
编译的dll自动复制到指定目录并重命名
java·服务器·前端