若要想 Dockerfile 的 ARG 命令可以跨多个阶段使用,需要有以下几步:

  1. 先在文件最前面使用 ARG 命令定义
  2. 然后在每个阶段分别引用 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;"]

最新文章

  1. 第10章 嵌入式Linux的调试技术
  2. STOP:c0000218 {Registry File Failure}
  3. List与Set的使用
  4. NSOperation基本使用
  5. 图像分割之(三)从Graph Cut到Grab Cut
  6. 仿word导航窗口的展开与折叠
  7. Http权威指南(一)---读书笔记
  8. Innodb_buffer_pool_pages_dirty [一个故事@MySQL DBA]MYSQL
  9. BZOJ 3223 文艺平衡树
  10. Swift: 基本操作符
  11. iOS触摸事件深入
  12. cookie session区别
  13. Cloudera Manager及CDH最新版本安装全程记录
  14. Redis in .NET Core 入门:(4) LIST和SET
  15. Python学习—数据库篇之SQL补充
  16. 转载:MySQL字段类型
  17. IIC通讯协议(非原创,转载他人,用于学习)
  18. create-react-app 搭建的项目中,引入 webpack-bundle-analyzer 打包分析
  19. 懒人的福利?教你用set维护斜率优化凸包
  20. nodejs 获取文件夹中所有文件、图片 名

热门文章

  1. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(中)
  2. 仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16
  3. KingbbaseES V8R6集群维护案例之---集群之间数据迁移
  4. v-contextmenujs 右键菜单点击
  5. P1829 [国家集训队]Crash的数字表格
  6. kubectl插件管理工具krew
  7. 使用shell做http web接口,可以传递参数--废弃
  8. U盘插入电脑后图标是灰色的,打开提示“请将磁盘插入驱动器”
  9. PAT (Basic Level) Practice 1017 A除以B 分数 20
  10. 大华海康NVR录像JAVA下载及WEB播放