针对docker当中镜像与容器的清理操作,简单来讲有几个操作:镜像信息获取,镜像移除,容器移除,容器停止;
1、镜像信息获取
docker images命令可以获取本地仓库中的所有镜像
命令格式:
docker images [OPTIONS] [REPOSITORY[:TAG]]
可接受参数:
序号 | 参数 | 含义 |
1 | -a, --all | 展示所有的镜像数据(默认会隐藏中间镜像信息); |
2 | –digests | 显示镜像的摘要信息; |
3 | -f, --filter filter | 根据提供的条件过滤输出; |
4 | –format string | 以一个格式化的模板输出镜像信息; |
5 | –no-trunc | 展示的信息不需要做截断处理(镜像id); |
6 | -q, --quiet | 只展示镜像的id; |
2、镜像移除
命令格式:
docker rmi [OPTIONS] IMAGE [IMAGE ...]
可接受参数:
序号 | 参数 | 含义 |
1 | -f, --force | 强制移除当前的镜像,无论是否正在被使用; |
2 | –no-prune | 不会同步删除未打标签的父级镜像; |
通过以上docker images命令和docker rmi可以将所有的镜像全部清除:
$ docker rmi $(docker images -q)
3、容器移除
移除容器之前首先需要获取到需要移除的容器信息,获取容器信息可通过docker ps命令:
命令格式:
docker ps [options]
可接受参数:
序号 | 参数 | 含义 |
1 | -a, --all | 展示所有容器(默认只展示正在运行的容器); |
2 | -f, --filter filter | 根据条件过滤输出信息; |
3 | –format string | 以一个格式化的模板输出容器信息; |
4 | -n, --last int | 获取n个最近创建的容器(包含所有状态); |
5 | –no-trunc | 展示的信息不需要做截断处理; |
6 | -q, --quiet | 只展示容器的id; |
7 | -s, --size | 展示文件的总大小; |
容器移除可以通过docker rm命令进行操作:
命令格式:
docker rm [OPTIONS] CONTAINER [CONTAINER ...]
可接受参数:
序号 | 参数 | 含义 |
1 | -f, --force | 强制移除正在运行的容器,默认情况下是不可移除运行状态中的容器,同理容器使用的镜像在默认情况下也不可移除; |
2 | -l, --link | 移除特定的关联,针对于父子容器的这种情况; |
3 | -v, --volume | 移除容器关联的数据卷; |
通过以上docker ps命令和docker rm可以将所有已停止的容器全部清除:
$ docker rm $(docker ps -a -q)
4、容器停止
容器停止可以通过docker kill和docker stop命令进行操作,推荐使用docker top进行优雅关闭:
命令格式:
docker kill [OPTIONS] CONTAINER [CONTAINER ...]
可接受参数:
序号 | 参数 | 含义 |
1 | -s, --signal string | 发送给容器的信号(默认为KILL); |
命令格式:
docker kill [OPTIONS] CONTAINER [CONTAINER ...]
可接受参数:
序号 | 参数 | 含义 |
1 | -t, --time int | 在真正kill执行之前等待的时间(默认10秒); |
通过以上docker stop命令和docker ps可以将所有运行的容器全部停止:
$ docker stop $(docker ps -a -q)