首页 > 其他分享 >Docker - dockerfile as 关键字

Docker - dockerfile as 关键字

时间:2023-03-24 11:56:43浏览次数:40  
标签:builder 应用程序 关键字 构建 阶段 镜像 Docker COPY dockerfile

在 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 来引用该阶段中的构建结果。

标签:builder,应用程序,关键字,构建,阶段,镜像,Docker,COPY,dockerfile
From: https://www.cnblogs.com/abeelan/p/17251043.html

相关文章

  • Ubuntu 通过 docker 部署禅道
    #拉取镜像dockerpulleasysoft/zentao:latest#运行容器(简单配置)dockerrun--namezentao-p8080:80-eMYSQL_ROOT_PASSWORD=88888888-dzentao#运行容器(......
  • AM33X将本机Linux系统打包成docker镜像
    基于现有开发板上运行带有dockerfeature将正在运行系统打包成dockerimage对系统进行压缩   /proc、/sys、/run、/dev这几个目录都是系统启动时自动生成的,虽......
  • java中获取路径 -docker文件路径挂载到磁盘
    继签名章文档后,发现一个问题,服务器获取路径问题又三种:第一种使用httpRequest:StringrealPath=request.getSession().getServletContext().getRealPath("");第二种实......
  • 5、Docker网络
    一、Docker网络是什么virbr0:在centos7的安装过程中如果有选择相关虚拟化的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址virbr0网卡(virbr0网卡:它有一个固定......
  • Docker 安装以及配置阿里云镜像加速器指南
    在中国大陆,由于网络限制和Docker官方镜像仓库的访问速度较慢,可能会影响Docker的使用体验。因此,建议中国用户使用阿里云提供的Docker镜像加速器来提高Docker镜像的拉......
  • Docker CLI docker config rm 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Doc......
  • docker容器安装RabbitMQ
    https://blog.csdn.net/qq_45502336/article/details/118699251?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1......
  • 克隆了一套测试环境和docker容器,在docker build的时候,alpine镜像的apk update一直出现
    【问题描述】网管从开发环境克隆了四台虚拟机及docker容器过来,作为uat环境使用,但是在配置好uat环境的流水线脚本后,每次执行uat分支就报错,其它分支可以正常执行;fetchht......
  • linux系统docker容器部署项目字体问题-Graphics2D在容器里面不显示字
    继上一个博客中生成签章图片后,今日遇到一个问题,本地不管如何改代码,都会将签名文字显示出来。但是...........一旦部署在linux系统后,一直打印不出来,,纠结的呀。。完全......
  • mysql8主从复制(一主三从) docker
    一、准备挂载文件为了将配置文件在宿主机做挂载,先运行测试镜像拷贝配置文件1、拉取镜像dockerpullmysql:8.0.262、创建测试容器mysql-demodockerrun-it-p330......