使用 Alpine Linux 镜像减小 Docker 镜像大小
选择 Alpine 方式,减少 docker 镜像中的多余内容。
Docker 映像的大小会影响其运行时间和应用程序的性能。小型容器运行速度更快,更易于管理,并且占用的磁盘空间更少。
有多种方法可以减小 Docker 镜像的大小。特别是,您可以使用比其他镜像小得多的 Alpine Linux 镜像。
使用 Alpine 减小现有 Docker 镜像的大小
Docker 映像是一个模板,其中包含有关如何构建 Docker 容器的说明。它拥有设置和运行应用程序所需的一切。这可能包括依赖项、命令,甚至环境变量。
有两种方法可以使用 Alpine 镜像来减少 Docker 镜像。一种是拉取 Alpine 版本的镜像,第二种是编辑 Dockerfile 以使用 Alpine 镜像。
从 Docker Hub 拉取 Docker 镜像
让我们拉取一个 Nginx Docker 映像,然后减小其大小。导航到 Docker 注册表。从官方 Docker 镜像中,使用以下命令提取 Nginx 镜像:
docker pull nginx
在终端上运行以下命令检查该镜像是否在您的系统中。
docker image ls
请注意,下载的 Nginx 映像的大小为 142MB。接下来,让我们使用 Alpine Linux 映像减小该映像的大小。
Alpine Linux 是一个非常小的发行版,因此基于它的镜像很小并且简单且安全。检查 Docker 注册表中是否有带有 Alpine 标记的 Nginx 映像版本。
然后在终端上运行以下命令:
docker pull nginx:stable-alpine
请注意,现在尺寸变小了,几乎是初始图像的四分之一。
编辑 Dockerfile 以使用 Alpine 镜像
或者,编辑现有应用程序的 Dockerfile 以使用 Alpine 映像。
FROM python: alpine
ENV PYTHONUNBUFFERED 1
WORKDIR /app
ADD . /app/
接下来,当您使用 Alpine 映像构建映像时,您会注意到 Python 映像的大小已减小。
为什么使用高山图像?
使用Alpine镜像可以快速减小Docker镜像的大小。 Docker 建议在常见用例中使用此类官方映像。
Alpine Linux 镜像在开发和生产中创建小型可管理容器。它很容易拉取、配置和使用。
同时,它有助于跨所有平台构建和部署轻量级应用程序。难怪 Alpine 是 Docker 平台上开发人员最喜欢的 Linux 发行版。