docker常用命令

目录

一、镜像(Image)操作

二、容器(Container)操作

[1. 生命周期管理](#1. 生命周期管理)

[2. 查看与监控](#2. 查看与监控)

[3. 数据操作](#3. 数据操作)

三、网络(Network)操作

四、卷(Volume)操作

五、系统维护

六、组合命令(高效操作)

七、日志管理

[八、Docker Compose 常用命令](#八、Docker Compose 常用命令)

九、配置别名(简化操作)

十、可视化工具推荐


Docker 中操作镜像(Image)、容器(Container)等核心资源的常用命令大全,按功能分类整理:


一、镜像(Image)操作

命令 说明 示例
docker images 列出本地镜像 docker images -a (含中间层镜像)
docker pull 拉取镜像 docker pull ubuntu:22.04
docker build 构建镜像 docker build -t myapp:v1 .
docker rmi 删除镜像 docker rmi nginx:alpine
docker image prune 清理悬空镜像 docker image prune -a (清理所有未使用镜像)
docker save 导出镜像 docker save -o nginx.tar nginx
docker load 导入镜像 docker load -i nginx.tar
docker history 查看镜像构建历史 docker history nginx
docker tag 标记镜像 docker tag nginx myrepo/nginx:v2

二、容器(Container)操作

1. 生命周期管理
命令 说明 示例
docker run 创建并启动容器 docker run -d -p 80:80 --name webserver nginx
docker start/stop/restart 启停容器 docker stop webserver
docker rm 删除容器 docker rm -f webserver (强制删除运行中容器)
docker create 创建但不启动 docker create --name temp ubuntu
docker exec 在运行中容器执行命令 docker exec -it webserver bash
docker update 更新容器配置 docker update --memory 512M webserver
2. 查看与监控
命令 说明 示例
docker ps 列出容器 docker ps -a (含停止的容器)
docker logs 查看容器日志 docker logs -f webserver (实时日志)
docker top 查看容器进程 docker top webserver
docker stats 实时资源监控 docker stats (所有容器)
docker inspect 查看容器详情 docker inspect webserver
docker port 查看端口映射 docker port webserver 80
docker diff 查看文件变更 docker diff webserver
3. 数据操作
命令 说明 示例
docker cp 复制文件 docker cp webserver:/etc/nginx .
docker commit 创建新镜像 docker commit webserver mynginx

三、网络(Network)操作

命令 说明 示例
docker network ls 列出网络
docker network create 创建网络 docker network create mynet
docker network inspect 查看网络详情 docker network inspect bridge
docker network connect 连接容器到网络 docker network connect mynet webserver
docker network prune 清理未使用网络

四、卷(Volume)操作

命令 说明 示例
docker volume ls 列出卷
docker volume create 创建卷 docker volume create dbdata
docker volume inspect 查看卷详情
docker volume rm 删除卷 docker volume rm dbdata
docker volume prune 清理未使用卷

五、系统维护

命令 说明 示例
docker system df 查看磁盘使用
docker system prune 清理所有未使用资源 docker system prune -a --volumes
docker info 显示系统信息
docker version 显示版本信息
docker events 查看实时事件 docker events --filter 'event=start'

六、组合命令(高效操作)

复制代码
# 1. 批量停止所有容器
docker stop $(docker ps -q)

# 2. 批量删除所有容器
docker rm -f $(docker ps -aq)

# 3. 批量删除所有镜像
docker rmi -f $(docker images -q)

# 4. 清理所有无用资源
docker system prune -a -f --volumes

# 5. 按名称过滤容器
docker ps --filter "name=web"

# 6. 按状态过滤容器
docker ps --filter "status=exited"

# 7. 查看容器资源限制
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

七、日志管理

复制代码
# 1. 查看最后100行日志
docker logs --tail 100 webserver

# 2. 查看特定时间段的日志
docker logs --since 2023-01-01 --until 2023-01-02 webserver

# 3. JSON格式日志解析
docker logs webserver | jq

八、Docker Compose 常用命令

命令 说明
docker-compose up -d 启动服务
docker-compose down 停止并删除资源
docker-compose ps 查看服务状态
docker-compose logs 查看服务日志
docker-compose build 重新构建镜像
docker-compose exec 进入服务容器

九、配置别名(简化操作)

在 ~/.bashrc 中添加:

复制代码
alias dk='docker'
alias dkc='docker-compose'
alias dkps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dkimg='docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"'
alias dkprune='docker system prune -af'

执行 source ~/.bashrc 生效


十、可视化工具推荐

  1. Portainer :

    复制代码
    docker run -d -p 9000:9000 --name portainer \
    -v /var/run/docker.sock:/var/run/docker.sock \
    portainer/portainer
  2. Lazydocker :

    复制代码
    docker run --rm -it -v \
    /var/run/docker.sock:/var/run/docker.sock \
    lazyteam/lazydocker

这些命令覆盖了 Docker 日常管理的核心场景,建议收藏作为速查手册!

相关推荐
神魔皆以血嗜2 小时前
Java 实现简单状态机(订单状态流转)
java·后端
随性而行3603 小时前
企业微信 API 如何实现业务消息自动通知?接口应用场景解析
java·人工智能·后端·微信·机器人·企业微信
姜九笙5613 小时前
python学习---归来仍是新人
java·python·学习
HEJOO93 小时前
Java 并发运行中的安全问题详解
java·开发语言
2601_962106643 小时前
【无标题】
java·idea
汉吉龙测控技术3 小时前
激光对中仪作用介绍(AS 激光对中仪)
java
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 完善用户信息章节复盘:套路清单与自检清单
java·dubbo·交友
用户3126874877203 小时前
Java 11-21 新特性盘点:var、record、sealed、虚拟线程
java
TangGeeA3 小时前
命令安全设置
java·服务器·安全
欣栀♡3 小时前
Spring 循环依赖不止三级缓存,Boot 2.6 起这个开关默认已经关了
java·spring·缓存