在Docker中,怎么快速查看本地的镜像和容器?

在 Docker 中快速查看本地镜像和容器,可以使用以下高效命令:

一、查看本地镜像

1. 基础命令(简洁视图)

docker images

输出示例

REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    ae2feff98a0c   2 weeks ago     133MB
redis        6.2       a617c1c2c1b0   3 months ago    104MB

2. 高级查看选项

  • 按特定格式显示

    docker images --format "{{.ID}}: {{.Repository}} ({{.Tag}})"
    

    输出:ae2feff98a0c: nginx (latest)

  • 显示悬空镜像(未被任何容器引用的中间层镜像):

    docker images -f "dangling=true"
    
  • 按时间排序(最近创建的在前):

    docker images --format "table {{.ID}}\t{{.Repository}}\t{{.CreatedSince}}" | sort -k3 -r
    
  • 显示镜像磁盘占用

    docker system df
    

二、查看本地容器

1. 基础命令

docker ps -a  # -a 显示所有容器(包括已停止的)

输出示例

CONTAINER ID  IMAGE   COMMAND        CREATED       STATUS       PORTS   NAMES
a1b2c3d4e5f6  nginx   "nginx -g ..." 2 hours ago   Up 2 hours   80/tcp  webserver
f0e9d8c7b6a5  redis   "redis-server" 3 days ago    Exited (0)   redis-test

2. 高级查看选项

  • 只显示运行中的容器

    docker ps
    
  • 自定义列显示

    docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Image}}"
    
  • 按状态过滤

    docker ps -a -f "status=exited"  # 显示已停止的容器
    docker ps -f "status=running"    # 显示运行中的容器
    
  • 显示容器大小

    docker ps -a --size
    

    输出会增加 SIZE 列(容器+可写层大小)


三、组合查看技巧

1. 同时查看镜像和容器(使用 watch 实时刷新)

watch -n 1 "echo 'IMAGES:'; docker images; echo '\nCONTAINERS:'; docker ps -a"

2. 快速概览仪表板

docker stats  # 实时监控容器资源使用
CONTAINER ID  NAME       CPU %  MEM USAGE / LIMIT  MEM %  NET I/O     BLOCK I/O
a1b2c3d4e5f6  webserver  0.12%  5.32MiB / 1.94GiB  0.26%  1.45kB/0B  0B/0B

3. 使用工具增强查看

安装 ctop(容器监控工具):

docker run --rm -ti \
  --name=ctop \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  quay.io/vektorlab/ctop:latest

四、信息筛选速查表

需求 命令
查看所有镜像 docker imagesdocker image ls
查看所有容器 docker ps -adocker container ls -a
仅显示镜像ID docker images -q
仅显示容器ID docker ps -aq
按名称过滤 docker ps -a --filter "name=web"
按标签过滤镜像 docker images --filter "reference=*:latest"
查看容器日志 docker logs <容器名>
查看镜像历史 docker history <镜像名>

五、常用快捷别名(添加到 ~/.bashrc)

# 镜像查看
alias dim='docker images'
alias dimq='docker images -q'

# 容器查看
alias dps='docker ps'
alias dpa='docker ps -a'
alias dpaq='docker ps -aq'

# 高级查看
alias dcstats='docker stats --format "table {{.Container}}\t{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"'

💡 提示:使用 --no-trunc 参数查看完整信息(如完整ID):

docker ps -a --no-trunc
docker images --no-trunc
posted @ 2025-07-30 19:47  天道酬勤zjh  阅读(85)  评论(0)    收藏  举报