Contents
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