docker system命令集合的使用

目录
  • docker system df
  • docker system prune
  • docker systemc info (docker info)

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内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

THE END
喜欢就支持一下吧
点赞13分享