docker system 目前拥有四个子命令,分别是:
docker system df
docker system events
docker system info
docker system prune
docker system 其中最重要的一个命令就是 docker system prune 命令,清理没有使用的数据,包括镜像数据,已经停止的容器
查看 docker system 帮助
- [root@localhost ~]# docker system --help
-
- Usage: docker system COMMAND
-
- Manage Docker
-
- Options:
- --help Print usage
-
- Commands:
- df Show docker disk usage
- events Get real time events from the server
- info Display system-wide information
- prune Remove unused data
-
- Run 'docker system COMMAND --help' for more information on a command.
- [root@localhost ~]#
-
docker system df
提供Docker整体磁盘使用率的概况,包括镜像、容器和(本地)volume。所以我们现在随时都可以查看Docker使用了多少资源。
- [root@localhost ~]# docker system df
- TYPE TOTAL ACTIVE SIZE RECLAIMABLE
- Images 10 6 2.652GB 1.953GB (73%)
- Containers 6 6 6.922MB 0B (0%)
- Local Volumes 0 0 0B 0B
- [root@localhost ~]#
-
docker system prune
如果之前的命令展示出 docker 已经占用了太多空间,我们会开始清理。有一个包办一切的命令:
- [root@localhost ~]# docker system prune
- WARNING! This will remove:
- - all stopped containers # 清理停止的容器
- - all networks not used by at least one container #清理没有使用的网络
- - all dangling images #清理废弃的镜像
- - all build cache #清理构建缓存
- Are you sure you want to continue? [y/N] y
- Total reclaimed space: 0B
- [root@localhost ~]#
根据警告信息可知,这个命令会删除所有关闭的容器以及dangling镜像。示例中,含有3个1GB随机文件的镜像的名称被占用了,名称为:,为dangling镜像,因此会被删除。同时,所有的中间镜像也会被删除。
更进一步,使用-a选项可以做深度清理。这时我们会看到更加严重的WARNING信息:
- $ docker system prune -a
- WARNING! This will remove:
- - all stopped containers
- - all volumes not used by at least one container
- - all networks not used by at least one container
- - all images without at least one container associated to them
- Are you sure you want to continue? [y/N] y
- Deleted Images:
- untagged: test:latest
- deleted: sha256:c515ebfa2...
- deleted: sha256:07302c011...
- deleted: sha256:37c0c6474...
- deleted: sha256:5cc2b6bc4...
- deleted: sha256:b283b9c35...
- deleted: sha256:8a8b9bd8b...
- untagged: alpine:latest
- untagged: alpine@sha256:58e1a1bb75db1...
- deleted: sha256:4a415e366...
- deleted: sha256:23b9c7b43...
- Total reclaimed space: 2.151GB
这个命令将清理整个系统,并且只会保留真正在使用的镜像,容器,数据卷以及网络,因此需要格外谨慎。比如,我们不能在生产环境中运行prune -a命令,因为一些备用镜像(用于备份,回滚等)有时候需要用到,如果这些镜像被删除了,则运行容器时需要重新下载。
此时,所有未绑定容器的镜像将会被删除。由于第一次prune命令删除了所有容器,因此所有镜像(它们没有绑定任何容器)都会被删除。
docker systemc info (docker info)
这个命令的缩写docker info相信大家都很熟悉
- [root@localhost ~]# docker system info
- Containers: 6
- Running: 6
- Paused: 0
- Stopped: 0
- Images: 49
- Server Version: 17.06.2-ce
- Storage Driver: overlay
- Backing Filesystem: xfs
- Supports d_type: true
- Logging Driver: json-file
- Cgroup Driver: cgroupfs
- Plugins:
- Volume: local
- Network: bridge host macvlan null overlay
- Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
- Swarm: inactive
- Runtimes: runc
- Default Runtime: runc
- Init Binary: docker-init
- containerd version: 6e23458c129b551d5c9871e5174f6b1b7f6d1170
- runc version: 810190ceaa507aa2727d7ae6f4790c76ec150bd2
- init version: 949e6fa
- Security Options:
- seccomp
- Profile: default
- Kernel Version: 3.10.0-514.26.2.el7.x86_64
- Operating System: CentOS Linux 7 (Core)
- OSType: linux
- Architecture: x86_64
- CPUs: 24
- Total Memory: 31.21GiB
- Name: localhost.localdomain
- ID: YTL2:6RWX:IZK6:X4XC:XKMO:WVXD:LXPR:E5GN:GEJB:WIUX:L5YH:PDFB
- Docker Root Dir: /var/lib/docker
- Debug Mode (client): false
- Debug Mode (server): false
- Registry: https://index.docker.io/v1/
- Experimental: false
- Insecure Registries:
- 127.0.0.0/8
- Registry Mirrors:
- http://9zkjjecg.mirror.aliyuncs.com/
- https://docker.mirrors.ustc.edu.cn/
- Live Restore Enabled: false
-
- [root@localhost ~]#
-
详细的解释
元字符 |
描述 |
info
等同于 docker info |
查看整个docker系统的信息
例如 docker system info
例如 docker system info | grep Images |
events
等同于 docker events |
获取docker系统实时事件,不包括容器内的。
例如:docker system events –until 1499305500
// 截止到 2017.7.6 01:45:00的操作
例如:docker system events –since 1499305500
// 从 2017.7.6 01:45:00之后的操作 |
df |
整体磁盘的使用情况
例如:docker system df
例如:docker system df -v |
prune |
清理资源,此操作尤其需要注意。
例如:docker system prune
#包括清理以下的四种,即容器、镜像、数据卷、网络
– all stopped containers
– all volumes not used by at least one container
– all networks not used by at least one container
– all dangling images
例如:docker system prune -a
#包括以下的四种情况,主要和上比较
– all stopped containers
– all volumes not used by at least one container
– all networks not used by at least one container
– all images without at least one container associated to them |
到此这篇关于docker system命令集合的使用的文章就介绍到这了,更多相关docker system内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!