docker无法删除镜像,Error: No such container,附docker常用命令

最近打算删除掉docker镜像但是发现有几个镜像就是删除不了,加了-f强制删除也不行,一直报Error: No such container的错误,最后终于找到了办法直接删除文件,步骤如下:

切换到root用户然后:

service docker stop

rm -rf /var/lib/docker
start docker service
到这里就会发现镜像已经删除干净。

附docker常用命令:
重启docker服务 sudo service docker restart

关闭docker服务 docker service docker stop

开启docker服务 docker service docker start

查看当前运行的容器:docker ps

查询存在的容器:docker ps -a

删除容器:docker -rm CONTAINERID

强制删除容器:docker -rm -f CONTAINERID

不能够删除一个正在运行的容器,会报错。需要先停止容器。

查看镜像:docker images

删除镜像:docker -rmi IMAGEID

强制删除镜像:docker -rmi -f IMAGEID

利用镜像创建容器:docker run --name centos -itd centos:latest

注:-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面,--name指定容器名。

如果使用systemctl启动服务需要用下面的方式以超级权限启动,否则会报Failed to get D-Bus connection: Operation not permitted错误:

docker run --name centos -itd --privileged=true centos:latest /usr/sbin/init

进入后台运行的容器:docker exec -it containname /bin/bash

启动容器:docker start containername

停止容器:docker stop containername

停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q)

注:-a标志列出所有容器,-q标志只列出容器的ID,然后传递给rm命令

删除全部image的: docker rmi $(docker images -q)

重命名一个容器:docker rename old_name new_name

要获取所有容器名称及其IP地址:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

进入容器内部后可以使用下面命令获取目前容器的ip:
cat /etc/hosts
在docker容器和宿主机之间复制文件:
切换为root用户然后:

从主机复制到容器 docker cp host_path containerID:container_path

从容器复制到主机 docker cp containerID:container_path host_path


注意:原博主下方都是喷博主的,原因是原博主第三个命令多了一个点.导致报错,我已更正。见上图
About Me

QQ 群:1094019526 tg 群:QQ 群里有

联系我请加 QQ 好友 (1362449059),注明添加缘由

文章内容来源于 TOM 的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

本文转自https://blog.csdn.net/ithaibiantingsong/article/details/81353168


觉得有用请点个支持,谢谢! 弘扬开源精神,用爱发电!! Code changes the world!!!
原文地址:https://www.cnblogs.com/TOM666/p/12869572.html