一般来说,Dockerfile中的同一个构建阶段,除了ARG指令外,第一个命令就应该是FROM。

语法

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

Dockerfile命令详解之 FROM_java

或者

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

Dockerfile命令详解之 FROM_java_02

或者

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

Dockerfile命令详解之 FROM_java_03

可选参数: 

--platform=<platform>       如果引用的是一个多平台的镜像,我们可以通过--platform指定镜像的平台,例如:linux/amd64linux/arm64windows/amd64

:<tag>                                指定引用镜像的tag,如果不指定,会默认使用最新的镜像

@<digest>                         指定引用镜像的digest,如果不指定,会默认使用最新的镜像

AS <name>                        给引用的镜像重命名,可用于后续的FROM 或者COPY --FROM

概念

​Docker官方镜像库​​中获取基础镜像。

比如需要部署一个以apache为基础环境的容器:

        我们先在Docker官方镜像库列表中,搜索关键词httpd

Dockerfile命令详解之 FROM_java_04

 

         然后点击联想词条httpd进入到官方镜像详情页中,在详情页中,给出了如何使用httpd作为基础环境。

Dockerfile命令详解之 FROM_java_05

 

         然后我们只需要在我们的Dockerfile中协商 FROM httpd:2.4 就将基础环境引入了,这时候,你的容器中就自动配置了apache相关的环境了。然后只需要使用COPY指令,将你的项目代码拷贝到容器中的/usr/local/apache2/htdocs/目录下就可以了。

FROM httpd:2.4

Dockerfile命令详解之 FROM_java_06