当前位置: 首页 > news >正文

什么网站做简历免费下载上海网站定制团队

什么网站做简历免费下载,上海网站定制团队,局域网站建设银行信用卡,网址你会感谢我的使用构建缓存优化 Docker 镜像构建 目录 实践构建应用程序额外资源后续步骤 假设一个简单的nodejs程序的 Dockerfile如下#xff1a; FROM node:20-alpine WORKDIR /app COPY . . RUN yarn install --production CMD [node, ./src/index.js]当你运…使用构建缓存优化 Docker 镜像构建 目录 实践构建应用程序额外资源后续步骤 假设一个简单的nodejs程序的 Dockerfile如下 FROM node:20-alpine WORKDIR /app COPY . . RUN yarn install --production CMD [node, ./src/index.js]当你运行 docker build 命令来创建新镜像时Docker 会按指定顺序执行 Dockerfile 中的每条指令为每个命令创建一个层。对于每条指令Docker 会检查是否可以重用之前构建中的指令。如果发现之前已经执行过类似的指令Docker 就不需要重新执行而是使用缓存的结果。这样你的构建过程会变得更快、更高效节省宝贵的时间和资源。 有效使用构建缓存可以通过重用之前构建的结果并跳过不必要的工作来实现更快的构建。为了最大化缓存的使用并避免资源密集型和耗时的重建理解缓存失效的工作原理非常重要。以下是一些可能导致缓存失效的情况 RUN 指令的任何更改 会使该层失效。如果 Dockerfile 中的 RUN 命令有任何修改Docker 会检测到变化并使构建缓存失效。使用 COPY 或 ADD 指令复制到镜像中的文件的任何更改。Docker 会监视项目目录中的任何更改无论是内容的变化还是属性如权限的变化Docker 都会将这些修改视为触发缓存失效的原因。一旦某一层失效所有后续层也会失效。如果由于更改导致任何之前的层包括基础镜像或中间层失效Docker 会确保依赖于它的后续层也失效。这保持了构建过程的同步防止不一致。 在编写或编辑 Dockerfile 时注意避免不必要的缓存失效以确保构建尽可能快速和高效地进行。 实践 在本指南中你将学习如何有效使用 Docker 构建缓存来优化 Node.js 应用程序的构建过程。 构建应用程序 下载并安装 Docker Desktop。 打开终端并克隆这个示例应用程序 git clone https://github.com/dockersamples/todo-list-app进入 todo-list-app 目录 cd todo-list-app在这个目录中你会找到名为 Dockerfile 的文件内容如下 FROM node:20-alpine WORKDIR /app COPY . . RUN yarn install --production EXPOSE 3000 CMD [node, ./src/index.js]执行以下命令来构建 Docker 镜像 docker build .构建过程如下所示 [] Building 20.0s (10/10) FINISHED第一行表示整个构建过程花费了 20.0 秒。第一次构建可能会花费一些时间因为需要安装依赖项。 不做任何更改进行重建 现在在不更改源代码或 Dockerfile 的情况下重新运行 docker build 命令 docker build .后续构建由于缓存机制而变得更快只要命令和上下文保持不变。Docker 会缓存构建过程中生成的中间层。当你在不更改 Dockerfile 或源代码的情况下重新构建镜像时Docker 可以重用缓存的层从而显著加快构建过程。 [] Building 1.0s (9/9) FINISHED后续构建仅在 1.0 秒内完成通过利用缓存层无需重复耗时的步骤如安装依赖项。 步骤描述第一次运行时间第二次运行时间1从 Dockerfile 加载构建定义0.0 秒0.0 秒2加载 docker.io/library/node:20-alpine 的元数据2.7 秒0.9 秒3加载 .dockerignore0.0 秒0.0 秒4加载构建上下文 (上下文大小: 4.60MB)0.1 秒0.0 秒5设置工作目录 (WORKDIR)0.1 秒0.0 秒6将本地代码复制到容器中0.0 秒0.0 秒7运行 yarn install --production10.0 秒0.0 秒8导出层2.2 秒0.0 秒9导出最终镜像3.0 秒0.0 秒 优化 Dockerfile 为了避免每次构建都重新安装相同的依赖项可以重新组织 Dockerfile 以保持依赖项缓存的有效性除非确实需要使其失效。对于基于 Node 的应用程序依赖项定义在 package.json 文件中。你可以在该文件更改时重新安装依赖项但如果文件未更改则使用缓存的依赖项。因此首先复制 package.json 文件然后安装依赖项最后复制其他所有内容。这样只有在 package.json 文件更改时才需要重新创建 yarn 依赖项。 更新 Dockerfile 以首先复制 package.json 文件安装依赖项然后复制其他所有内容 FROM node:20-alpine WORKDIR /app COPY package.json yarn.lock ./ RUN yarn install --production COPY . . EXPOSE 3000 CMD [node, src/index.js]在与 Dockerfile 相同的文件夹中创建一个名为 .dockerignore 的文件内容如下 node_modules构建新镜像 docker build .输出如下 [] Building 16.1s (10/10) FINISHED[internal] load build definition from Dockerfile 0.0stransferring dockerfile: 175B 0.0s[internal] load .dockerignore 0.0stransferring context: 2B 0.0s[internal] load metadata for docker.io/library/node:21-alpine 0.0s[internal] load build context 0.8stransferring context: 53.37MB 0.8s[1/5] FROM docker.io/library/node:21-alpine 0.0sCACHED [2/5] WORKDIR /app 0.0s[3/5] COPY package.json yarn.lock ./ 0.2s[4/5] RUN yarn install --production 14.0s[5/5] COPY . . 0.5sexporting to image 0.6sexporting layers 0.6swriting image sha256:d6f819013566c54c50124ed94d5e66c452325327217f4f04399b45f94e37d25 0.0snaming to docker.io/library/node-app:2.0 0.0s现在修改 src/static/index.html 文件例如将标题更改为 “The Awesome Todo App”。 构建 Docker 镜像。此时你的输出应有所不同 docker build -t node-app:3.0 .输出如下 [] Building 1.2s (10/10) FINISHED [internal] load build definition from Dockerfile 0.0stransferring dockerfile: 37B 0.0s[internal] load .dockerignore 0.0stransferring context: 2B 0.0s[internal] load metadata for docker.io/library/node:21-alpine 0.0s [internal] load build context 0.2stransferring context: 450.43kB 0.2s[1/5] FROM docker.io/library/node:21-alpine 0.0sCACHED [2/5] WORKDIR /app 0.0sCACHED [3/5] COPY package.json yarn.lock ./ 0.0sCACHED [4/5] RUN yarninstall --production 0.0s[5/5] COPY . . 0.5s exporting to image 0.3sexporting layers 0.3swriting image sha256:91790c87bcb096a83c2bd4eb512bc8b134c757cda0bdee4038187f98148e2eda 0.0snaming to docker.io/library/node-app:3.0 0.0s首先你会注意到构建速度快了很多。你会看到多个步骤使用了之前缓存的层。这是个好消息你正在使用构建缓存。推送和拉取此镜像及其更新也会快得多。 通过遵循这些优化技术你可以加快 Docker 构建速度提高开发效率缩短迭代周期提高开发生产力。
http://www.hkea.cn/news/14266704/

相关文章:

  • 网站权重优化国内wordpress有名的网站
  • 正在备案怎么建网站wordpress免插件增强
  • 怎么查那些人输入做网站hhvm+wordpress
  • 天津做网站找津坤科技专业淘淘乐网站建设
  • 久久建材有限公司如何申请网站优化工作
  • 深圳外贸网站建设服务商wordpress 写文章页面
  • python网站开发流程图专业网站制作公司是如何处理一个优秀的网站的
  • iis 建网站手机访问基于PHP的家教网站开发环境
  • 做哪个网站零售最好用什么语言做网站
  • 我的网站怎么转网页呢个人年终工作总结报告
  • 建站多用户分销系统一般有哪些
  • 自己怎么做公司网站站长seo工具
  • 同一产品做多个网站广西网站推广优化
  • 建立网站 域名 服务器吗冠县网站设计
  • 哈尔滨企业建站服务商临沂网
  • 株洲做网站优化网站欢迎框代码
  • 常州按天优化代理讯展网站优化推广
  • 福州外贸建站网站里的内容都是什么作用
  • 网站建设大德通wordpress媒体库代码
  • 杭州如何设计公司网站网站导航条怎么做
  • 网站设计多少钱市场价哪个网站有建设需要等文件
  • 企业网站建设对网络营销有哪些影响广州番禺网站公司
  • 山东省建设厅网站一体化平台西安网站建设建站系统
  • 凡科互动网站登录入口外贸网站制作时间及费用
  • 万江网站制作黄页88可信吗
  • 一站式网站建设顾问口碑营销概念
  • 建设网站都需要下载那些软件网站推送怎么做
  • 网站建设项目目标描述网络公司营业范围
  • 做网站的是怎么赚钱微博营销的定义
  • 昭通高速装配式建筑公司网站关于信阳的网页设计