Dockerfile中的`FROM`命令是用于指定基础镜像的。基础镜像可以是一个操作系统、一个应用程序或者其他任何可以作为容器运行环境的镜像。`FROM`命令后面跟的是镜像的名称和标签,如果不指定标签,那么默认会使用`latest`标签,即该镜像的最新版本。
在`FROM ubuntu:22.04`这个命令中,`ubuntu`是镜像的名称,表示这是一个Ubuntu操作系统的镜像;`22.04`是镜像的标签,表示这个Ubuntu镜像的版本是22.04。因此,`FROM ubuntu:22.04`这个命令的意思就是设置当前Dockerfile构建的新镜像的基础镜像是Ubuntu 22.04版本。
举个例子来说明`FROM`命令的作用。假设我们要构建一个基于Ubuntu 22.04的Docker镜像,这个镜像里面安装了Apache HTTP服务器。我们可以编写如下的Dockerfile:
FROM ubuntu:22.04
# 更新软件包列表
RUN apt-get update
# 安装Apache HTTP服务器
RUN apt-get install -y apache2
# 暴露Apache HTTP服务器的默认端口80
EXPOSE 80
在这个Dockerfile中,`FROM ubuntu:22.04`命令指定了基础镜像是Ubuntu 22.04。接下来的`RUN`命令在基础镜像上执行了更新软件包列表和安装Apache HTTP服务器的操作。最后,`EXPOSE`命令暴露了Apache HTTP服务器的默认端口80,使得容器在运行时可以对外提供HTTP服务。
通过执行`docker build`命令并指定Dockerfile的路径,就可以根据这个Dockerfile构建出一个新的Docker镜像。这个新的镜像包含了Ubuntu 22.04操作系统和Apache HTTP服务器,可以作为一个运行HTTP服务的容器环境。