Docker image可以';“不要删除,”;“没有这样的形象”;

Docker image可以';“不要删除,”;“没有这样的形象”;,docker,Docker,好的,我是Docker的新手,正在做一些教程,我想删除nginx和mongo图像: $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest be1f31be9a87 12 days ago 109MB mongo

好的,我是Docker的新手,正在做一些教程,我想删除
nginx
mongo
图像:

$ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nginx                latest              be1f31be9a87        12 days ago         109MB
mongo                3.4                 598e8cf490a6        12 days ago         361MB
所以我从nginx开始:

$ docker image rm nginx
Untagged: nginx:latest
Untagged: nginx@sha256:9ad0746d8f2ea6df3a17ba89eca40b48c47066dfab55a75e08e2b70fc80d929e
Deleted: sha256:be1f31be9a87cc4b8668e6f0fee4efd2b43e5d4f7734c75ac49432175aaa6ef9
Deleted: sha256:7609c40a03b852382a43d79231d9d4ca7661cd1ac9edcb46f78a44fff4ed59ca
Deleted: sha256:a2b6968c4326640dd5e9e22ddf6cebb61ba1a4b79a4ac8d194f93000c5a4c3e2
Deleted: sha256:8b15606a9e3e430cb7ba739fde2fbb3734a19f8a59a825ffa877f9be49059817
它走了吗

$ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mongo                3.4                 598e8cf490a6        12 days ago         361MB
到目前为止还不错。现在,对于
mongo

$ docker image rm mongo
Error: No such image: mongo
为什么这不起作用

最后我发现
docker image rm 598e8cf490a6
确实删除了
mongo
图像,但我仍然不明白为什么这样做不起作用

  • 第一列是什么,
    存储库
    ?这是图像名称还是其他名称
  • 如果是图像名称,那么为什么我不能使用
    docker image rm mongo
    删除
    mongo
    图像
  • 如果不是图像名称,则
  • 这是什么
  • 为什么
    docker image ls
    显示它而不是图像名称
  • 如何获得实际的图像名称?具体是什么?我还尝试了
    docker image rm mongodb
    docker image rm mongo db
    ,但没有成功
    • docker中图像的“名称”是存储库和ID的组合-这是在
      docker image ls
      中显示的

      您还可以在docker hub上找到存储库名称,例如:


      如果您只提供存储库的名称(在本例中为“mongo”),docker会假定您希望删除该存储库标记为“最新”的图像。 现在,由于在您的示例中只有一个标记为“mongo:3.4”的图像,但没有名为“mongo:latest”的图像,所以这不起作用

      通过添加
      -f
      标志,例如
      docker-f rmi mongo
      ,可以强制从一个存储库中删除所有图像

      有关更多信息和示例,请参见官方文档:

      如以下线程中所述-

      图像的实例称为容器。您有一个图像,它是您描述的一组层。如果启动此映像,则此映像的容器正在运行。可以有许多相同映像的运行容器。 您可以使用docker图像查看所有图像,而您可以使用docker ps查看正在运行的容器(并且您可以使用docker ps-a查看所有容器)。 因此,映像的运行实例是一个容器

      查看正在运行的容器实例列表的步骤

      使用->
      $docker ps

      查看所有容器实例的列表

      使用->
      $docker ps-a

      要查看,请拖动图像列表

      使用->
      $docker图像

      删除容器实例(如果容器正在运行)

      使用->
      $docker kill
      使用->
      $docker rm

      或者强迫它停止并用

      使用->
      $docker rm-f

      删除容器实例(如果容器未运行)

      使用->
      $docker rm

      删除图像

      使用->
      $docker rmi

      使用->
      $docker image rm

      注意:如果要删除的存储库具有最新标记,则无需提及它。如果有标签,则应提及。

      就你而言


      使用->
      $docker images rm mongo:3.4

      如果您使用的是代理,请尝试

      $ docker image rm your-proxy:port/image-name
      


      docker image rm mongo:3.4
      ?“docker假设您想删除标记为“最新”的图像”哎呀,只要
      docker
      自己费心解释一下就好了!“没有这样的图像:
      mongo:latest
      ”,也许?docker rmi和
      docker image rm
      之间有什么区别?就我而言,
      docker rmi
      只是
      docker image rm
      的一个简短形式。您可以在中看到,
      docker映像rm
      也支持
      -f
      标志。
      $ docker image rm -f your-proxy:port/image-name