Dockerfile最佳实践:构建基础镜像并配置APT缓存
该Dockerfile定义了一个基础镜像('base'),使用了一个Golang镜像作为基础,并从另一个镜像('xx')中复制文件。然后,它设置了一个APT缓存保留选项,并使用了一个APT镜像源。接下来,它安装了file软件包,并将GO111MODULE环境变量设置为off。
具体步骤:
-
构建基础镜像:
FROM --platform=$BUILDPLATFORM ${GOLANG_IMAGE} AS base COPY --from=xx / /- 从指定的Golang镜像构建基础镜像'base'。
- 将另一个镜像'xx'中的所有文件复制到基础镜像中。
-
配置APT缓存保留选项:
RUN echo 'Binary::apt::APT::Keep-Downloaded-Packages 'true';' > /etc/apt/apt.conf.d/keep-cache- 将APT缓存保留选项设置为'true',以便在后续构建中重用已下载的软件包。
-
使用APT镜像源:
ARG APT_MIRROR RUN sed -ri 's/(httpredir|deb).debian.org/${APT_MIRROR:-deb.debian.org}/g' /etc/apt/sources.list \ && sed -ri 's/(security).debian.org/${APT_MIRROR:-security.debian.org}/g' /etc/apt/sources.list- 使用环境变量'APT_MIRROR'来指定APT镜像源,提高下载速度和稳定性。
-
安装file软件包:
ARG DEBIAN_FRONTEND RUN apt-get update && apt-get install --no-install-recommends -y file- 更新APT软件包列表并安装file软件包,用于文件类型识别。
-
设置GO111MODULE环境变量:
ENV GO111MODULE=off- 将GO111MODULE环境变量设置为'off',表示使用Go Modules之前版本的依赖管理机制。
该Dockerfile展示了构建基础镜像、配置APT缓存和镜像源、安装软件包以及设置环境变量的最佳实践,对于构建高效可靠的Docker镜像至关重要。
原文地址: http://www.cveoy.top/t/topic/gRqS 著作权归作者所有。请勿转载和采集!