docker - Docker 映像未更新
问题描述
我想构建一个映像并运行一个容器,但是在代码中进行了一些更改后,我使用此命令重建映像并运行容器docker-compose up --build
。但是在我看到的图像列表中的 Docker Desktop 中,Created about 6 hours ago.
但是我在 2 分钟前完成了它。我经常在重建之前删除 docker 桌面中的图像,但我发现这种行为没有改变。唯一的出路是在重建 3-5 个镜像后完全重新安装 docker 桌面应用程序,但这太疯狂了!有什么问题?是缓存吗?这是我的 docker-compose
version: '3'
services:
attachment-loader-prim:
container_name: attachment-loader
build:
context: ""
restart: always
image: attachment-loader:latest
environment:
SPRING_PROFILES_ACTIVE: "prim"
LOGGING_LEVEL_ORG_HIBERNATE_SQL: DEBUG
LOGGING_LEVEL_ORG_HIBERNATE_TYPE_DESCRIPTOR_SQL_BASICBINDER: TRACE
networks:
- loader-network
ports:
- 8005:8005
- 8085:8085
attachment-loader-sec:
container_name: attachment-loader-sec
build:
context: ""
restart: always
image: attachment-loader:latest
environment:
SPRING_PROFILES_ACTIVE: "sec"
LOGGING_LEVEL_ORG_HIBERNATE_SQL: DEBUG
LOGGING_LEVEL_ORG_HIBERNATE_TYPE_DESCRIPTOR_SQL_BASICBINDER: TRACE
networks:
- loader-network
ports:
- 8006:8005
- 8086:8086
networks:
loader-network:
attachable: true
这是我的码头文件
FROM adoptopenjdk/openjdk11:alpine-jre
VOLUME /tmp
ARG TZ='Europe/Berlin'
RUN sed -i 's/dl-cdn.alpinelinux.org/uk.alpinelinux.org/' /etc/apk/repositories
RUN apk upgrade --update \
&& apk add -U tzdata curl jq \
&& cp /usr/share/zoneinfo/${TZ} /etc/localtime \
&& apk del tzdata \
&& rm -rf \
/var/cache/apk/*
RUN echo ${TZ} > /etc/timezone
ARG DEPENDENCY=build/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8005","-cp","app:app/lib/*","com.path.to.your.Application.kt"]
解决方案
要强制构建没有缓存,您可以尝试使用--no-cache
排除任何缓存选项实际发生的选项。您还可以通过使用这些方法来强制清理所有图像
docker-compose down -v --rmi all --remove-orphans
然后再次尝试重建。
如果没有更多详细信息或查看正在使用的实际 docker-compose 文件,这是解决问题的一般尝试。
编辑:根据您展示的示例,它可能不会在 dockerfile 中为将要构建的新映像获取任何更改,然后 --build 将只使用之前构建的缓存映像。如果您有构建的输出会有所帮助,但如果 docker 没有理由构建新映像,它将跳过以支持已经存在的缓存映像。尝试构建中的 --no-cache 选项并检查您希望触发新构建的所有 COPY/RUN 参数。
推荐阅读
- python - 使用变量规则时找不到模板(jinja2.exceptions.TemplateNotFound: page_name。)
- javascript - 在 ag-grid 中显示列的总和
- python - 检测季度/半年是否由月末或月初确定
- java - Java:此代码片段的时间复杂度与嵌套循环:数据结构和算法
- javascript - 在状态更新时使用 eventListener 进行指数重新渲染
- r - 为什么 geom_pattern= gradient 不会在 RMarkdown 子页面中显示图形?
- javascript - Vue - 根据倒数计时器提前设置引导5进度条宽度
- c# - 有没有更简单的方法来转换 DateTime?到 DateTime.Date.ToString()
- python - 如何使用 matplotlib 在同一张图上绘制 2 组 (x,y) 值作为散点图(由线连接)?
- sql - 将最后一个外观添加到表中