Docker正在制作额外的图像

Docker正在制作额外的图像,docker,Docker,当我运行我的docker compose up-d命令时,它运行的很酷,但是它创建了很多图像,我不知道这是否是一种正常的行为,但看起来是这样的 Status: Downloaded newer image for node:11.1.0 ---> 4e4c445311e6 Step 2/8 : RUN mkdir /usr/src/app ---> Running in 3b78051548b7 Removing intermediate container 3b78051548

当我运行我的
docker compose up-d
命令时,它运行的很酷,但是它创建了很多图像,我不知道这是否是一种正常的行为,但看起来是这样的

Status: Downloaded newer image for node:11.1.0
 ---> 4e4c445311e6
Step 2/8 : RUN mkdir /usr/src/app
 ---> Running in 3b78051548b7
Removing intermediate container 3b78051548b7
 ---> 96e53f58ca4a
Step 3/8 : WORKDIR /usr/src/app
 ---> Running in 6c09aca5e321
Removing intermediate container 6c09aca5e321
 ---> a392a2bdd279
Step 4/8 : ENV PATH /usr/src/app/node_modules/.bin:$PATH
 ---> Running in 9443cc34dc2a
Removing intermediate container 9443cc34dc2a
 ---> 6ba4c2ed0014
正如您所见,它每一步都会生成一个新图像

在这里,您可以看到该命令生成的图像列表

somethinghere_somethinghere   latest              4163a2ac78cc        14 minutes ago      1.23GB
<none>                              <none>              2af2d216914a        14 minutes ago      1.23GB
<none>                              <none>              2471e3d94378        15 minutes ago      1.11GB
<none>                              <none>              6ba4c2ed0014        15 minutes ago      894MB
<none>                              <none>              71141d30cec8        15 minutes ago      894MB
<none>                              <none>              a392a2bdd279        15 minutes ago      894MB
<none>                              <none>              96e53f58ca4a        15 minutes ago      894MB
docker compose

version: '3.5'

services:

  somethinghere:
    container_name: somethinghere-client
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - '.:/usr/src/app'
      - '/usr/src/app/node_modules'
    ports:
      - '3000:3000'
    environment:
      - NODE_ENV=development

这就是docker的缓存机制,如果docker文件中有微小的更改,它们可以帮助系统更快地构建

正如您在构建输出中所看到的

Step 2/8 : RUN mkdir /usr/src/app
 ---> Running in 3b78051548b7
Removing intermediate container 3b78051548b7
 ---> 96e53f58ca4a
使用图像96e53f58ca4a创建一个图层

通常你不需要担心它们,只需使用
docker图像
,你就看不到它们了

更多阅读

简短答案的可能重复是“不要使用
-a
选项来
docker图像
,它会显示您通常不关心的细节”。
Step 2/8 : RUN mkdir /usr/src/app
 ---> Running in 3b78051548b7
Removing intermediate container 3b78051548b7
 ---> 96e53f58ca4a