【后端】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


相关推荐
j_xxx404_3 小时前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
墨风如雪4 小时前
别被“高价建站”劝退了!我跑了多年的 WordPress 架构,一年只花 $25.7
服务器
云飞云共享云桌面5 小时前
东莞智能装备工厂数字化实践—研发部门10名SolidWorks设计共享一台云主机流畅设计
服务器·自动化·汽车·负载均衡·制造
专注API从业者5 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
xingyuzhisuan5 小时前
稳定性考验:连续跑7天,哪家云主机不重启、不掉线?
服务器·人工智能·gpu算力
jsons15 小时前
给每台虚拟机设置独立控制台密码
linux·运维·服务器
皮皮冰燃6 小时前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
少年白char6 小时前
整理上万首音乐后的完整工作流:下载、刮削、播放与避坑指南
docker·nas·musictag·音乐刮削·音乐标签
云栖梦泽7 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
yipiantian7 小时前
在Claude项目中实现跨目录访问Skills
linux·运维·服务器