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 --from=builder /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 国际」许可协议进行许可。

posted @   ABEELAN  阅读(427)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示