文章目录
- docker容器和镜像的停止和删除
- 1.列出所有docker镜像
- 2.查看正在运行的、或所有的docker容器
- 3.停止所有容器
- 4.删除所有容器
- 5.删除所有镜像
- 通过 image name 删除单个镜像
- 通过 image id 删除单个镜像
- 删除所有镜像
- 6.删除所有停止的容器
- 7.删除所有不使用的镜像
docker容器和镜像的停止和删除
1.列出所有docker镜像
docker images
![docker images](https://img-blog.csdnimg.cn/img_convert/84bcc699bf4793d71b2d29060c8c7b67.png)
- repository:存储库
- tag:用于版本控制
- image id:镜像的ID
- created:创建时间
- size:镜像大小
存储库和镜像ID分析
(1)repository-存储库:此时为dockerhub中的nginx官方仓库,若为私有仓库,格式一般为demo.harbor.com/demo/nginx:tag
docker login --username=$username $url
登陆仓库,并输入密码
docker pull $image_url
从仓库中拉取镜像
docker images
查看镜像列表
![私有镜像格式](https://img-blog.csdnimg.cn/img_convert/54d769b022ccaf1db3db95ee87a257d5.png)
(2)image id-镜像的ID:镜像ID唯一的表示一个镜像,ID值是根据该镜像的数据配置文件使用sha256算法计算获得。文件存放在 /var/lib/docker/image/overlay2/imagedb/content/sha256 目录中。
![image id存放位置](https://img-blog.csdnimg.cn/img_convert/859188a633faf90262872228b218da79.png)
与上图两个images的image id对比一致。
打开第一个nginx的文件查看
cat 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399 | python -m json.tool
![nginx sha256文件](https://img-blog.csdnimg.cn/img_convert/0a8bc7244d939e8c31044ed56e20a8a4.png)
可以看出确实是配置文件
我们再将此文件的sha256值计算出来
sha256sum 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399
![image配置文件的sha256值计算](https://img-blog.csdnimg.cn/img_convert/ab2f2e4b2bc956c6084cea3b30701f20.png)
可以看出这个文件的sha256值等于文件名,也等于image id
2.查看正在运行的、或所有的docker容器
- 查看正在运行的docker容器
docker ps
- 查看所有的docker容器
这个命令也会显示未启动的容器信息
docker ps -a
![显示docker容器](https://img-blog.csdnimg.cn/img_convert/c84822d0bac8be2e43e43640fae54f40.png)
3.停止所有容器
docker stop $(docker ps -aq)
docker stop操作的对象是 container id 而不是 image name
![docker stop all](https://img-blog.csdnimg.cn/img_convert/447d08855895e39cd2e2e215686346f6.png)
4.删除所有容器
docker rm $(docker ps -aq)
和停止容器同样, docker stop 操作的对象也是 container id
![docker delete all container](https://img-blog.csdnimg.cn/img_convert/7ca00d1e2296e67f274460555cf0e74d.png)
5.删除所有镜像
通过 image name 删除单个镜像
docker image rm $image_name
![delete images through image name](https://img-blog.csdnimg.cn/img_convert/cee1c2f41335445de14df3b9245a9357.png)
通过 image id 删除单个镜像
docker rmi $image_id
![delete images through image id](https://img-blog.csdnimg.cn/img_convert/e0493cbf76d96fb1740a13d8caf29a1e.png)
删除所有镜像
docker rmi $(docker images -q)
![delete all images](https://img-blog.csdnimg.cn/img_convert/f89297bc511b9ab030ae545150dd1fe0.png)
6.删除所有停止的容器
docker container prune -f
![delete container which doesn't use](https://img-blog.csdnimg.cn/img_convert/f8deb5aabe5c800db98bfa7cbe6429b1.png)
7.删除所有不使用的镜像
docker image prune --force --all
docker image prune -f -a
![delete images which doesn't use](https://img-blog.csdnimg.cn/img_convert/e46775a14247a6c782bb38445d37a076.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)