Dockerfile 跨阶段多阶段使用 ARG 命令
2024-09-08 15:31:33
若要想 Dockerfile 的 ARG
命令可以跨多个阶段使用,需要有以下几步:
- 先在文件最前面使用
ARG
命令定义 - 然后在每个阶段分别引用
ARG
命令使用
一个示范的 Dockerfile 文件如下:
# global argument, can cross multiple stages
ARG APP_HOME=/home/web/app
# build stage
FROM node:16-alpine as builder
ARG APP_HOME
# maintainer info
LABEL maintainer="FengYin Xu"
# Create app directory
WORKDIR ${APP_HOME}/
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ${APP_HOME}/
RUN npm install
# build production package
COPY . ${APP_HOME}/
RUN npm run build
# deploy stage
FROM nginx:alpine
ARG APP_HOME
COPY --from=builder ${APP_HOME}/build /usr/share/nginx/html
COPY --from=builder ${APP_HOME}/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
最新文章
- 第10章 嵌入式Linux的调试技术
- STOP:c0000218 {Registry File Failure}
- List与Set的使用
- NSOperation基本使用
- 图像分割之(三)从Graph Cut到Grab Cut
- 仿word导航窗口的展开与折叠
- Http权威指南(一)---读书笔记
- Innodb_buffer_pool_pages_dirty [一个故事@MySQL DBA]MYSQL
- BZOJ 3223 文艺平衡树
- Swift: 基本操作符
- iOS触摸事件深入
- cookie session区别
- Cloudera Manager及CDH最新版本安装全程记录
- Redis in .NET Core 入门:(4) LIST和SET
- Python学习—数据库篇之SQL补充
- 转载:MySQL字段类型
- IIC通讯协议(非原创,转载他人,用于学习)
- create-react-app 搭建的项目中,引入 webpack-bundle-analyzer 打包分析
- 懒人的福利?教你用set维护斜率优化凸包
- nodejs 获取文件夹中所有文件、图片 名
热门文章
- 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(中)
- 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16
- KingbbaseES V8R6集群维护案例之---集群之间数据迁移
- v-contextmenujs 右键菜单点击
- P1829 [国家集训队]Crash的数字表格
- kubectl插件管理工具krew
- 使用shell做http web接口,可以传递参数--废弃
- U盘插入电脑后图标是灰色的,打开提示“请将磁盘插入驱动器”
- PAT (Basic Level) Practice 1017 A除以B 分数 20
- 大华海康NVR录像JAVA下载及WEB播放