Докер делает дополнительные изображения - PullRequest
0 голосов
/ 16 ноября 2018

Когда я запускаю свою команду 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 и dockerfile

Dockerfile

# base image
FROM node:11.1.0

# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app

# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install --silent
RUN npm install react-scripts@1.1.1 -g --silent

# start app
CMD ["npm", "start"]

докер-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

1 Ответ

0 голосов
/ 16 ноября 2018

Это механизм кэширования докера, который помогает системе быстрее строить, если в файле docker есть небольшие изменения.

Как видно из результатов сборки,

Step 2/8 : RUN mkdir /usr/src/app
 ---> Running in 3b78051548b7
Removing intermediate container 3b78051548b7
 ---> 96e53f58ca4a

Создает слой с изображением 96e53f58ca4a.

Обычно вам не нужно беспокоиться о них, просто используйте docker images, и вы их не увидите.

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...