我想构建一个镜像并运行容器,但在对代码进行一些更改后,我使用以下命令重新构建镜像并运行容器:
docker-compose up --build
。但是在Docker桌面应用程序中的镜像列表中,我看到的是大约6小时前创建
的图像,而我只是在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
这是我的 Dockerfile 文件
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"]
--build
标志,则会遇到这个问题。当我包括--build
标志时,我从未遇到过这种行为。 - Turing85docker image ls
命令,然后修改你的代码并再次构建镜像,最后将新旧输出结果与docker image ls
的结果进行比较。是否存在两个镜像或只有一个? - DevilaN