我在OS X 10.8.4(Mountain Lion)下在Vagrant下运行Docker,每当我尝试删除已保存的图像时,我都会收到错误消息:
$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input
Run Code Online (Sandbox Code Playgroud)
根据rmi
帮助,正确的语法是docker rmi IMAGE [IMAGE...]
,我不知道该怎么做.
如何删除图像?
$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1
Run Code Online (Sandbox Code Playgroud)
$docker info
Containers: 1
Images: 3
Run Code Online (Sandbox Code Playgroud)
有趣的是,当我跑步时docker ps
,根本没有容器出现.跑步docker images
显示四(4)base
张图像和一(1)张node
图像.
Nic*_*tes 988
试试docker rmi node
.这应该工作.
查看所有创建的容器就像这样简单docker ps -a
.
要删除所有现有容器(不是图像!),请运行 docker rm $(docker ps -aq)
Uli*_*ses 552
以下是删除docker镜像/容器的一些方法:
docker rmi image_name:version/image-id
Run Code Online (Sandbox Code Playgroud)
docker rmi $(docker images -qf "dangling=true")
Run Code Online (Sandbox Code Playgroud)
docker rm $(docker kill $(docker ps -aq))
Run Code Online (Sandbox Code Playgroud)
注意:更换kill
用stop
的正常关闭
使用grep删除除my-image
和之外的所有内容ubuntu
docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})
Run Code Online (Sandbox Code Playgroud)
或者(没有awk)
docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))
Chr*_*lis 192
docker rm $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)
docker rmi $(docker images -q)
Run Code Online (Sandbox Code Playgroud)
kwe*_*360 67
要使用图像ID从Docker中删除图像:
获取所有图像的列表
docker images
Run Code Online (Sandbox Code Playgroud)标识要删除的图像的图像ID,例如:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
kweku360/java latest 08d3a9b8e166 2 weeks ago 5.733 GB`
Run Code Online (Sandbox Code Playgroud)最后使用图像ID删除图像(仅需要前三位数字)
docker rmi 08d
Run Code Online (Sandbox Code Playgroud)小智 36
码头图片
docker rmi image_name
docker rmi -f image_name
docker ps -a
docker rm container_id
docker rm -f container_id
qkr*_*ger 29
更新,如VonC在如何删除旧Docker容器中所评论.
使用Docker 1.13(2016年第4季度),您现在拥有:
docker system prune
将删除所有未使用的数据(即按顺序:容器停止,没有容器的卷和没有容器的图像).
请参阅PR 26108并提交86de7c0,它们引入了一些新命令,以帮助显示Docker守护程序数据在磁盘上占用的空间,并允许轻松清理"不需要的"多余空间.
docker system prune
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
Run Code Online (Sandbox Code Playgroud)
All*_*ітy 23
删除特定容器
docker rm CONTAINER_ID CONTAINER_ID
Run Code Online (Sandbox Code Playgroud)
对于单个图像
docker rm 70c0e19168cf
Run Code Online (Sandbox Code Playgroud)适用于多个图像
docker rm 70c0e19168cf c2ce80b62174
Run Code Online (Sandbox Code Playgroud)删除已退出的容器
docker ps -a -f status=exited
Run Code Online (Sandbox Code Playgroud)删除所有容器
docker ps -q -a | xargs docker rm
Run Code Online (Sandbox Code Playgroud)docker rmi IMAGE_ID
Run Code Online (Sandbox Code Playgroud)
删除特定图像
对于单个图像
docker rmi ubuntu
Run Code Online (Sandbox Code Playgroud)用于多个图像
docker rmi ubuntu alpine
Run Code Online (Sandbox Code Playgroud)删除悬空图像悬空图像
是与任何标记图像无关的图层,因为Docker图像由多个图像构成.
docker rmi -f $(docker images -f dangling=true -q)
Run Code Online (Sandbox Code Playgroud)删除所有Docker镜像
docker rmi -f $(docker images -a -q)
Run Code Online (Sandbox Code Playgroud)要列出卷,请运行 docker volume ls
删除特定卷
docker volume rm VOLUME_NAME
Run Code Online (Sandbox Code Playgroud)删除悬空卷
docker volume rm $(docker volume ls -f dangling=true -q)
Run Code Online (Sandbox Code Playgroud)删除容器及其卷
docker rm -v CONTAINER_NAME
Run Code Online (Sandbox Code Playgroud)lak*_*dan 13
docker rmi 91c95931e552
Run Code Online (Sandbox Code Playgroud)
来自守护进程的错误响应:冲突,无法删除91c95931e552,因为容器76068d66b290正在使用它,使用-f强制FATA [0000]错误:无法删除一个或多个映像
查找容器ID,
# docker ps -a
# docker rm daf644660736
Run Code Online (Sandbox Code Playgroud)
首先,我们必须停止并删除与我们将要删除的 Docker 映像相关联的 Docker 容器。
所以为此,首先
docker stop container-id
- 停止正在运行的容器docker rm container-id
- 删除/移除容器然后,
docker rmi image-id
- 删除/移除图像 归档时间: |
|
查看次数: |
674947 次 |
最近记录: |