Docker - dockerfile as 关键字
在 Dockerfile 中使用 AS(或 as)关键字可以创建一个多阶段构建(multi-stage build)。
多阶段构建是一种将应用程序的构建过程分解为多个阶段(stage)的技术,每个阶段使用不同的基础镜像和指令来完成特定的任务。
在多阶段构建中,可以使用 AS 关键字指定构建阶段的名称,然后在后续阶段中引用它们。
例如,以下是一个包含两个构建阶段的 Dockerfile:
# 第一阶段:构建应用程序
FROM node:14-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# 第二阶段:运行应用程序
FROM nginx:1.21-alpine
COPY /app/dist /usr/share/nginx/html
在这个 Dockerfile 中,第一阶段使用 node:14-alpine 镜像作为基础镜像,创建了一个名为 builder 的构建阶段。在该阶段中,执行了一系列指令来构建应用程序,并生成了编译后的代码。
第二阶段使用 nginx:1.21-alpine 镜像作为基础镜像,并使用 COPY --from=builder
指令从第一阶段中拷贝编译后的代码到 nginx 容器中,从而运行应用程序。
在这个例子中,AS 关键字用于给第一阶段命名为 builder,以便在第二阶段中使用 COPY --from=builder
来引用该阶段中的构建结果。
作者:ABEELAN
出处:https://www.cnblogs.com/abeelan/p/17251043.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!