跳到主要内容

镜像和容器存储管理

Docker 提供了一系列命令来管理存储,包括镜像、容器、数据卷和存储驱动等。

一、镜像存储管理

命令说明
docker images列出本地所有镜像。
docker rmi <image_id>删除指定的镜像。
docker image prune删除未使用的镜像(悬空镜像)。
docker image prune -a删除所有未被容器使用的镜像。
docker history <image_name>查看镜像的分层历史。
docker save <image_name> -o file.tar将镜像保存为 tar 文件。
docker load -i file.tar从 tar 文件加载镜像。

以上命令已在前面的章节中演示过。

二、容器存储管理

命令说明
docker ps -a列出所有容器(包括停止的容器)。
docker rm <container_id>删除指定的容器。
docker container prune删除所有已停止的容器。
docker inspect <container_id>查看容器的详细信息,包括存储配置。
docker diff <container_id>查看容器文件系统的变化(相对于镜像)。
示例
# 容器的变化(相对于镜像)
ubuntu@www.zxzsk.com:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e230b1fd483f wcjiang/linux-command "/busybox httpd -f -…" 21 hours ago Up 4 hours 0.0.0.0:32768->3000/tcp, :::32768->3000/tcp priceless_allen
0ea1a7d43fb9 wcjiang/reference "/busybox httpd -f -…" 22 hours ago Up 4 hours 0.0.0.0:32769->3000/tcp, :::32769->3000/tcp cool_satoshi
5f9cfbdba6a0 my-nginx "/docker-entrypoint.…" 22 hours ago Up 4 hours 0.0.0.0:32770->80/tcp, :::32770->80/tcp musing_dijkstra
ubuntu@www.zxzsk.com:~$ docker diff e230b1fd483f
ubuntu@www.zxzsk.com:~$ docker diff 0ea1a7d43fb9
ubuntu@www.zxzsk.com:~$ docker diff 5f9cfbdba6a0
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
A /var/cache/nginx/uwsgi_temp
C /etc
C /etc/nginx
C /etc/nginx/conf.d
C /etc/nginx/conf.d/default.conf
  • C 是 changed :表示目录被修改(可能是添加或修改了文件)。
  • A 是 added:表示新增文件。
  • D 是 deleted:表示删除文件。