5 个实用的 Docker 配置

这五种配置可以将您的 Docker 设置从一项缓慢的工作转变为一台经过微调的机器。

来源:KDnuggets
图片由编辑提供

# 简介

#

Docker 的美妙之处在于它消除了数据科学和开发中的许多摩擦。然而,当您不再将其视为基本容器工具并开始调整它以提高实际效率时,真正的实用程序就会出现。虽然我喜欢思考复杂的用例,但我总是会回归到提高日常效率上。正确的配置可以决定您的构建时间、部署稳定性,甚至影响您的团队协作方式。

Docker 它为数据科学消除了多少障碍

无论您是运行微服务、处理复杂的依赖项,还是只是想缩短构建时间,这五种配置都可以将您的 Docker 设置从缓慢的苦差事转变为微调的机器。

# 1.优化缓存以加快构建速度

在 Docker 上浪费时间的最简单方法是重建不需要重建的东西。 Docker 的层缓存系统很强大,但却被误解了。

Dockerfile 中的每一行都会创建一个新的镜像层,并且 Docker 只会重建发生变化的层。这意味着简单的重新安排(例如在复制源代码之前安装依赖项)可以极大地改变构建性能。

Dockerfile 中的每一行都会创建一个新的镜像层

例如,在 Node.js 项目中,放置 COPY package.json 。并在复制其余代码之前运行 npm install 确保缓存依赖项,除非包文件本身发生更改。

Node.js 复制 package.json 。 运行 npm install

同样,将很少变化的步骤组合在一起并将易变的步骤分开可以节省大量时间。这是一种可扩展的模式:无效层越少,重建速度越快。

关键是策略分层。将 Dockerfile 视为波动性层次结构 - 基础映像和系统级依赖项位于顶部,应用程序特定的代码位于底部。这个顺序很重要,因为 Docker 按顺序构建层并缓存较早的层。

Docker 按顺序构建层并缓存较早的层 golang:alpine 高山