For*_*stG 35 docker docker-compose
我有以下命令来强制重新创建所有容器:
docker-compose up --force-recreate --build
Run Code Online (Sandbox Code Playgroud)
但是,我仍然看到以下几行*:
Step 6/10 : RUN cp environment-prod-docker.js environment.js
---> Using cache
---> e9a2354577ef
Step 7/10 : RUN cat environment.js
---> Using cache
---> ccbc732030ea
Step 8/10 : RUN npm ci --only=production
---> Using cache
---> 6baeabd30cf7
Run Code Online (Sandbox Code Playgroud)
我怎样才能禁用该缓存?(例如,它不会重建我的应用程序。)
我已经发现,在给定容器上使用此特定命令可以重新构建它:
docker-compose build --no-cache
Run Code Online (Sandbox Code Playgroud)
但由于特定原因,我需要使用单行 build'n'start 命令,那么有没有什么方法可以用 来生成它docker-compose up?
我正在使用 docker-compose.yml 版本“3.4”。
*:Dockerfile是这样的:
...
RUN cp environment-prod-docker.js environment.js
RUN cat environment.js
RUN npm ci --only=production
...
Run Code Online (Sandbox Code Playgroud)
Luk*_*ham 26
不幸的是,马克斯的回答对我不起作用。然而这个命令做了:
docker system prune --all --force
Run Code Online (Sandbox Code Playgroud)
Mar*_*ark 20
据我所知,您无法阻止docker-compose up使用构建缓存。我发现有效执行此操作的唯一方法是运行:
docker image rm <image>
docker builder prune
Run Code Online (Sandbox Code Playgroud)
第一个命令删除您正在重建的映像。第二个命令修剪悬挂层,因此您的下一个构建将是新鲜的。
更新:2023 年 10 月
docker compose build 接受选项--no-cache。尽管进度中显示[已缓存],但实际上并没有使用缓存。
这是描述页面https://docs.docker.com/engine/reference/commandline/compose_build/
无法评论,只好放在这里。尝试docker compose更新docker-compose您的 docker 引擎。
| 归档时间: |
|
| 查看次数: |
30975 次 |
| 最近记录: |