docker容器和镜像的停止和删除
1.列出所有docker镜像
docker images
- 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
查看镜像列表
(2)image id-镜像的ID:镜像ID唯一的表示一个镜像,ID值是根据该镜像的数据配置文件使用sha256算法计算获得。文件存放在 /var/lib/docker/image/overlay2/imagedb/content/sha256 目录中。
与上图两个images的image id对比一致。
打开第一个nginx的文件查看
cat 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399 | python -m json.tool
可以看出确实是配置文件
我们再将此文件的sha256值计算出来
sha256sum 4f380adfc10f4cd34f775ae57a17d2835385efd5251d6dfe0f246b0018fb0399
可以看出这个文件的sha256值等于文件名,也等于image id
2.查看正在运行的、或所有的docker容器
- 查看正在运行的docker容器
docker ps
- 查看所有的docker容器
这个命令也会显示未启动的容器信息
docker ps -a
3.停止所有容器
docker stop $(docker ps -aq)
docker stop操作的对象是 container id 而不是 image name
4.删除所有容器
docker rm $(docker ps -aq)
和停止容器同样, docker stop 操作的对象也是 container id
5.删除所有镜像
通过 image name 删除单个镜像
docker image rm $image_name
通过 image id 删除单个镜像
docker rmi $image_id
删除所有镜像
docker rmi $(docker images -q)
6.删除所有停止的容器
docker container prune -f
7.删除所有不使用的镜像
docker image prune --force --all
//或者
docker image prune -f -a