Docker - 清理

# Container

# 清理停止的容器

1
2
3
docker container prune 
or 
docker rm $(docker ps -aq)

# 按需清理容器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
docker ps -a --filter 'exited=0'

filter:

id (container's id)
label (label=<key> or label=<key>=<value>)
name (container's name)
exited (int - the code of exited containers. Only useful with --all)
status (created|restarting|running|removing|paused|exited|dead)
ancestor (<image-name>[:<tag>], <image id> or <image@digest>) - filters containers that were created from the given image or a descendant.
before (container's id or name) - filters containers created before given id or name
since (container's id or name) - filters containers created since given id or name
isolation (default|process|hyperv) (Windows daemon only)
volume (volume name or mount point) - filters containers that mount volumes.
network (network id or name) - filters containers connected to the provided network
health (starting|healthy|unhealthy|none) - filters containers based on healthcheck status

# Image

# 清理所有悬挂()镜像:

1
docker image prune

# 按需清理镜像

1
2
3
4
5
6
7
docker images --filter "dangling=true"

dangling (boolean - true or false)
label (label=<key> or label=<key>=<value>)
before (<image-name>[:<tag>], <image id> or <image@digest>) - filter images created before given id or references
since (<image-name>[:<tag>], <image id> or <image@digest>) - filter images created since given id or references
reference (pattern of an image reference) - filter images whose reference matches the specified pattern

# Volume

# 清理无用的数据卷

1
docker volumn prune

# 清理所有不用的数据(停止的容器, 不使用的volume, networks, 悬挂的images)

1
2
// 不会清理 overlay
docker sustem prune -a

# overlay

# overlay 通过删除镜像 减小 overlay size

1
docker rmi images

# 镜像新版本更新流程

1
2
3
4
5
docker stop container
docker rm container
docker rmi image
docker pull image
docker run ...
Licensed under CC BY-NC-SA 4.0