docker - Docker 正在制作额外的图像
问题描述
当我运行我的docker-compose up -d
命令时,它会运行所有很酷的 buuut 它会创建很多图像我不知道这是否应该是正常行为,但它看起来像这样
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"]
码头工人撰写
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 的缓存机制在起作用,如果 dockerfile 有微小的变化,它们可以帮助系统更快地构建。
正如您在构建输出中看到的那样,
Step 2/8 : RUN mkdir /usr/src/app
---> Running in 3b78051548b7
Removing intermediate container 3b78051548b7
---> 96e53f58ca4a
使用图像 96e53f58ca4a 创建一个图层。
通常您无需担心它们,只需使用它们,docker images
您就不会看到它们。
更多阅读在这里
推荐阅读
- json - 在 Circe 中使用没有显式配置依赖的蛇案例
- listview - 使用 FutureBuilder 在 Flutter 中显示存储在数据库中的项目列表
- kotlin - 如何从 Kotlin 的 Firestore 集合中获取单个文档的 DocumentChange 对象?
- git - 推送被拒绝,无法编译 Python 应用程序错误 Discord.py
- xamarin.forms - 无法导航到主详细信息页面
- azure - 如何从 AZURE 函数 API url 中删除 CODE 参数?
- python - 是否可以在python中同时连续运行2个线程?
- flutter - 颤振中的单例模式
- python - 如何从while循环更改条件
- css - CSS网格不同的列数