代码改变世界

Docker from指令

  youxin  阅读(3636)  评论(0编辑  收藏  举报

 

FROM
指明当前的镜像基于哪个镜像构建
dockerfile 必须以 FROM 开头,除了 ARG 命令可以在 FROM 前面
FROM [--platform=<platform>] <image> [AS <name>]

FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]

FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]

小栗子
FROM alpine:latest
————————————————

语义

  1. FROM指令开始一个新的构建阶段,设置后续构建依赖的基础镜像,Dockerfile必须以FROM开始。镜像可以是任意有效镜像。

  示例:在nginx:latest镜像基础上,直接创建一个新的镜像。

FROM nginx
CMD /bin/bash

 

FROM可以在一个Dockerfile中出现多次,以创建多个镜像或者将当前构建作为另一个构建的依赖。

 

4. 通过向FROM指令添加AS name,可以选择为新生成阶段指定名称。该名称可以在后续的FROM和COPY --FROM=<name>指令中使用,以引用在此阶段中构建的镜像。

 

6. --platform可以用于指定镜像的平台,用来处理那些支持多平台的镜像。例如:linux/amd64、linux/arm64或windows/amd64。默认情况下,使用生产请求的平台。全局生成参数可用于此标志的值,例如:自动平台参数允许您强制一个阶段到本机构建平台(--platform=$BUILDPLATFORM),并使用它交叉编译到阶段内部的目标平台。

  示例:nginx:latest作为基础镜像,指定--platform=linux/arm64进行镜像构建。

FROM --platform=linux/arm64 nginx
CMD /bin/bash

 

FROM与ARG

  上文(2)中曾提到过, Dockerfile必须以FROM指令开始(除ARG指令之外),下面来看下FROM与ARG的关系。

  7.1 FORM的参数支持在FORM之前由ARG定义的变量。

  示例:在FROM之前通过ARG定义变量NG_VERSION,在FROM中引用变量。

ARG NG_VERSION=1.19.3
FROM nginx:${NG_VERSION}
CMD /bin/bash

 

原文链接:https://blog.csdn.net/securitit/article/details/109503940

 

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2016-04-23 JSP EL表达式
2015-04-23 boost::any 用法
2015-04-23 boost单元测试框架
2014-04-23 linux eclipse c++配置
2012-04-23 JFrame setDefaultLookAndFeelDecorated(true)
点击右上角即可分享
微信分享提示