Przeglądaj źródła

Make another docker layer reusable

By moving the apt-get layer before the copies, the apt-get layer can be reused with each build, reducing upload/download needed during updates.

Just a small optimization.
Sparky 6 lat temu
rodzic
commit
9f83ee7b3e
3 zmienionych plików z 8 dodań i 9 usunięć
  1. 4 5
      Dockerfile
  2. 2 2
      Dockerfile.arm
  3. 2 2
      Dockerfile.arm64

+ 4 - 5
Dockerfile

@@ -22,11 +22,6 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
 
 
 FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
-COPY --from=builder /jellyfin /jellyfin
-COPY --from=ffmpeg /ffmpeg-bin/* /usr/bin/
-EXPOSE 8096
-VOLUME /config /media
-
 # libfontconfig1 is required for Skia
 RUN apt-get update \
  && apt-get install --no-install-recommends --no-install-suggests -y \
@@ -34,4 +29,8 @@ RUN apt-get update \
  && apt-get clean autoclean \
  && apt-get autoremove \
  && rm -rf /var/lib/{apt,dpkg,cache,log}
+COPY --from=builder /jellyfin /jellyfin
+COPY --from=ffmpeg /ffmpeg-bin/* /usr/bin/
+EXPOSE 8096
+VOLUME /config /media
 ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config

+ 2 - 2
Dockerfile.arm

@@ -16,9 +16,9 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
 
 
 FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm32v7
-COPY --from=builder /jellyfin /jellyfin
-EXPOSE 8096
 RUN apt-get update \
  && apt-get install -y ffmpeg
+COPY --from=builder /jellyfin /jellyfin
+EXPOSE 8096
 VOLUME /config /media
 ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config

+ 2 - 2
Dockerfile.arm64

@@ -24,10 +24,10 @@ RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
 
 
 FROM microsoft/dotnet:${DOTNET_VERSION}-runtime-stretch-slim-arm64v8
+RUN apt-get update \
+ && apt-get install -y ffmpeg
 COPY --from=qemu_extract qemu-* /usr/bin
 COPY --from=builder /jellyfin /jellyfin
 EXPOSE 8096
-RUN apt-get update \
- && apt-get install -y ffmpeg
 VOLUME /config /media
 ENTRYPOINT dotnet /jellyfin/jellyfin.dll -programdata /config