Docker磁盘存储器:我可以删除中间图像吗?

时间:2017-03-12 14:44:13

标签: docker

我的磁盘内存不足。

如果我运行docker images,我会得到很多结果:

app_mongodb   latest              355f8f37c385        17 hours ago        568.1 MB
app_web       latest              a31db2244a8b        18 hours ago        868.2 MB
<none>                    <none>              71e586165d46        18 hours ago        568.1 MB
<none>                    <none>              422c281541d3        18 hours ago        568.1 MB
<none>                    <none>              1b16da634fa1        18 hours ago        535.4 MB
website_web               latest              e4442589e2f4        2 days ago          793.6 MB
<none>                    <none>              5445f9b915e6        3 days ago          535.4 MB
<none>                    <none>              e825b94d5938        3 days ago          868 MB
<none>                    <none>              ea1ddc53d17f        3 days ago          535.4 MB
<none>                    <none>              90531b8bd2d3        5 days ago          855.6 MB
<none>                    <none>              774895648397        5 days ago          535.4 MB
<none>                    <none>              0f474dc179c4        5 days ago          855.6 MB
<none>                    <none>              37cd4d180580        5 days ago          535.4 MB
<none>                    <none>              5f701c2e3fac        5 days ago          535.4 MB
<none>                    <none>              6837158ac191        5 days ago          535.4 MB
<none>                    <none>              f3eecd70620e        5 days ago          535.4 MB
<none>                    <none>              27b3e1701f05        5 days ago          535.4 MB
<none>                    <none>              64763f09b1d4        5 days ago          535.4 MB
<none>                    <none>              b58542e468e6        5 days ago          855.6 MB
app2_web          latest              01c45018b686        5 days ago          645.5 MB
redis                     latest              e4a35914679d        11 days ago         182.9 MB
<none>                    <none>              8d6737f884f8        12 days ago         854.7 MB
<none>                    <none>              27f7742e8b2b        2 weeks ago         792.1 MB
api_web                   latest              59ec56265675        2 weeks ago         906.4 MB
<none>                    <none>              33c328f5a271        2 weeks ago         782.2 MB
<none>                    <none>              53d4ad25e6c2        2 weeks ago         782.1 MB
<none>                    <none>              01ac14f597ba        2 weeks ago         854 MB
app3_web           latest              2aaa4675cc58        3 weeks ago         929.9 MB
<none>                    <none>              bde15910281e        3 weeks ago         789.5 MB
postgres                  latest              ecd991538a0f        4 weeks ago         265.5 MB
app4_web                latest              c8b0de070d78        7 weeks ago         1.088 GB
<none>                    <none>              67e3ef67081b        7 weeks ago         859.2 MB
<none>                    <none>              451229f8dedb        7 weeks ago         859.2 MB
server_web                latest              72bd5165f262        9 weeks ago         665.4 MB
<none>                    <none>              c7f0d2b67986        9 weeks ago         660.9 MB
app5_web               latest              7477b8e5ef63        3 months ago        690 MB
<none>                    <none>              ee7de82e0cf0        3 months ago        856.7 MB
mdillon/postgis           latest              ee2a84576d15        3 months ago        600.2 MB
<none>                    <none>              d8ee634a8581        4 months ago        685.3 MB
memcached                 latest              5fdd5c36cc9a        4 months ago        126.1 MB
app6_web              latest              813fb5eac7d1        5 months ago        823.7 MB
app7_web          latest              3b6a87b67359        5 months ago        645.5 MB
node                      argon               3b6a87b67359        5 months ago        645.5 MB
mongo                     latest              48b8b08dca4d        6 months ago        366.4 MB
ruby                      2.2.1               aca1c061bdd2        23 months ago       775.1 MB

我知道所有指定的码头工人对应的东西,我可以轻松管理它们并删除我不再需要的那些。但他们并不占多数!

关于其他的,我猜他们是中间码头工人。

我想知道我是否删除了那些,是否会破坏命名的那个,或者只是如果我重建它们(例如使用--no-cache选项),docker将不得不重新下载它们? (没关系)

EG。基于ruby的docker是否需要启动或仅构建?

3 个答案:

答案 0 :(得分:3)

这些可能是您过去制作的图像,但是当您重建图像时,相关标签会移动到另一个图像,使这些图像无标记。因此它们显示为<none> <none>

查看输出的示例,我猜其中很多都是app_mongodb:latestapp_web:latest的旧版本。根据尺寸。

app_mongodb       latest    355f8f37c385    17 hours ago    568.1 MB
app_web           latest    a31db2244a8b    18 hours ago    868.2 MB
<none>            <none>    71e586165d46    18 hours ago    568.1 MB
<none>            <none>    422c281541d3    18 hours ago    568.1 MB
<none>            <none>    1b16da634fa1    18 hours ago    535.4 MB
website_web       latest    e4442589e2f4    2 days ago      793.6 MB
<none>            <none>    5445f9b915e6    3 days ago      535.4 MB
<none>            <none>    e825b94d5938    3 days ago      868 MB
<none>            <none>    ea1ddc53d17f    3 days ago      535.4 MB
<none>            <none>    90531b8bd2d3    5 days ago      855.6 MB
<none>            <none>    774895648397    5 days ago      535.4 MB
<none>            <none>    0f474dc179c4    5 days ago      855.6 MB
<none>            <none>    37cd4d180580    5 days ago      535.4 MB
<none>            <none>    5f701c2e3fac    5 days ago      535.4 MB
<none>            <none>    6837158ac191    5 days ago      535.4 MB
<none>            <none>    f3eecd70620e    5 days ago      535.4 MB
<none>            <none>    27b3e1701f05    5 days ago      535.4 MB
<none>            <none>    64763f09b1d4    5 days ago      535.4 MB
<none>            <none>    b58542e468e6    5 days ago      855.6 MB

删除它们很可能是安全的。如果你试图删除它们并且它们被容器或其他图像使用,那么Doc​​ker会抱怨它。

在Docker的最新版本中(我相信&gt; = 1.13),您可以使用prune命令清理未被图像或容器引用的图像。

docker image prune

答案 1 :(得分:2)

在较新的docker版本中,您只需执行以下操作:

  

docker image prune

请参阅:https://docs.docker.com/engine/reference/commandline/image_prune/#description

答案 2 :(得分:0)

使用docker images -f dangling=true -q我们可以找到<none><none>张图片。然后我们可以使用以下命令将其删除,

docker rmi -f $(docker images -f dangling=true -q --no-trunc)

我们可能需要-f选项才能将其强行删除。