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

【后端】Docker 常用命令详解

整理一份 Docker 常用命令详解,分为几个模块(镜像、容器、数据卷、网络、系统管理、调试排错),并且解释用法和常见场景。


🚀 Docker 命令详解

1. 镜像相关命令(Image)

镜像是容器的模板。

命令说明示例
docker images查看本地镜像docker images
docker search <name>在 Docker Hub 搜索镜像docker search redis
docker pull <name>:<tag>拉取镜像docker pull mysql:8.0
docker rmi <image_id>删除镜像docker rmi abc123
docker tag <image_id> <repo>:<tag>给镜像打标签docker tag abc123 myrepo/app:v1
docker save -o <file>.tar <image>导出镜像到文件docker save -o mysql.tar mysql:8.0
docker load -i <file>.tar从文件加载镜像docker load -i mysql.tar
docker build -t <name>:<tag> .基于 Dockerfile 构建镜像docker build -t myapp:v1 .

2. 容器相关命令(Container)

容器是运行中的镜像实例。

命令说明示例
docker ps查看正在运行的容器docker ps
docker ps -a查看所有容器(包括已停止)docker ps -a
docker run -it --name <name> <image>运行容器并进入交互模式docker run -it --name test ubuntu bash
docker run -d -p 8080:80 <image>后台运行容器并映射端口docker run -d -p 8080:80 nginx
docker exec -it <container_id> bash进入正在运行的容器docker exec -it mynginx bash
docker logs -f <container_id>查看容器日志(持续输出)docker logs -f mynginx
docker stop <container_id>停止容器docker stop mynginx
docker start <container_id>启动容器docker start mynginx
docker restart <container_id>重启容器docker restart mynginx
docker rm <container_id>删除容器docker rm abc123
docker commit <container_id> <image:tag>把容器保存为新镜像docker commit abc123 myapp:v2
docker cp <container_id>:<path> <local_path>拷贝容器文件到本地docker cp mynginx:/etc/nginx/nginx.conf ./

3. 数据卷相关命令(Volume)

数据卷用于持久化存储和共享数据。

命令说明示例
docker volume ls查看所有卷docker volume ls
docker volume create <name>创建数据卷docker volume create mydata
docker volume inspect <name>查看卷信息docker volume inspect mydata
docker volume rm <name>删除卷docker volume rm mydata
docker run -v <volume_name>:<container_path> <image>使用数据卷挂载docker run -v mydata:/var/lib/mysql mysql:8.0
docker run -v <host_path>:<container_path>挂载主机目录docker run -v /home/data:/data ubuntu

4. 网络相关命令(Network)

容器之间通信需要网络。

命令说明示例
docker network ls查看所有网络docker network ls
docker network create <name>创建网络docker network create mynet
docker network inspect <name>查看网络详情docker network inspect mynet
docker network connect <net> <container>把容器加入网络docker network connect mynet myapp
docker network disconnect <net> <container>从网络移除容器docker network disconnect mynet myapp

常见网络模式:

  • bridge(默认):同一网络下容器可互相访问。

  • host:容器和宿主机共享网络。

  • none:容器无网络。


5. 系统管理命令

主要用于清理无用资源和查看状态。

命令说明示例
docker info查看 Docker 系统信息docker info
docker stats查看容器资源使用情况docker stats
docker system df查看磁盘使用情况docker system df
docker system prune清理无用资源docker system prune -af
docker top <container_id>查看容器内进程docker top myapp
docker inspect <id>查看容器/镜像详细信息docker inspect mynginx

6. 调试与排错命令

命令说明示例
docker logs <id>查看日志docker logs myapp
docker exec -it <id> sh进入容器调试docker exec -it myapp sh
docker events查看 Docker 实时事件docker events
docker history <image>查看镜像构建历史docker history ubuntu:20.04

✅ 总结:

  • 镜像操作docker pull / build / rmi / save / load

  • 容器操作docker run / ps / exec / logs / stop / rm

  • 数据卷操作docker volume create / ls / rm

  • 网络操作docker network create / connect / inspect

  • 系统管理docker stats / prune / inspect


http://www.dtcms.com/a/363503.html

相关文章:

  • 构建企业级区块链网络:基于AWS EC2的弹性、高可用解决方案
  • 2025软件测试面试热点问题,3天刷完你的软件测试就牛了
  • 不同编译器之间代码转换
  • Java学习笔记-零基础学MySQL(二)
  • QT C++传递 map 给qml 中访问的两种方式
  • 深度学习容器化部署
  • Nginx 调度算法全解析:从基础到高级的负载均衡策略
  • HOW - 在浏览器下载一个 Excel 表格文件
  • Qt Demo(3) 之 deepseek 帮我写的关于图像显示的小界面
  • 漫画短剧小程序系统开发:从0到1的核心架构与思路
  • Redis 缓存雪崩实战:从监控告警到3层防护的完整修复
  • 【读论文】美团开源MOE大模型LongCat-Flash
  • Pod自动重启问题排查:JDK 17 EA版本G1GC Bug导致的应用崩溃
  • 线上排查bug的命令
  • 企业微信员工聊天记录能看吗?合规管理三要素一次性说清
  • 企业微信怎么用能高效获客?拆解体检品牌如何实现私域营收提升
  • Windows 和 Linux 服务器 IP 与域名强制绑定方法
  • Zabbix7代理方式监控oracle 23.3
  • C++多线程编程:std::thread, std::async, std::future
  • PHP 8.x与现代Web开发:性能、安全与生态进化
  • 数据库入门实战版
  • 深度学习篇---SGD优化器
  • Java反序列化漏洞揭秘:从原理到攻击实战
  • RabbitMQ消息堆积问题排查:concurrentConsumers 配置的坑与解决方案
  • 网络共享协议
  • 探索JavaScript机器学习:几款流行的库推荐
  • 服务器数据恢复—OceanStor存储数据丢失原来这样恢复
  • linux 命令 awk的常见用法
  • 【LeetCode】3025. 人员站位的方案数 I(康复-T2)
  • 【ComfyUI】SDXL Refiner 提示进一步提升生成图像的质量