指定基础镜像,必须为第一个命令1.1、指令格式
1.2、示例
- FROM指令用于指定基础镜像
- –platform选项可用在FROM多平台镜像的环境下指定平台。比方,linux/amd64、lunux/arm64、windows/amd64。
- AS name表示为构建阶段命令,在后续FROM和COPY --from=name说明中可以利用这个名词,引用此阶段构建的映像。
- tag或digest值是可选的。假如您省略其中任何一个,构建器默认利用latest标签。假如找不到指定tag,构建起将返回错误。
- 为了包管镜像精简,可以选用体积较小的Alpin或Debian作为基础镜像
界说创建镜像过程中利用的变量2.1、指令格式
ARG是唯一可以位于FROM指令之前的指令
是变量名,[=]是可选的默认值。2.2、作用域
在这个例子中,user1没有默认值,而buildno的默认值是1。3、LABEL
为生成的镜像添加元数据标签信息3.1、指令格式
这些元数据以键值对的情势存在
可以在单行或多行上指定多个标签,尽管这样做在Docker 1.10版本后不再减少最终镜像的大小,但仍旧是一种组织代码的可选方式3.4、单行多标签
利用双引号而非单引号:当值中包罗环境变量插值等需要分析的元素时,必须利用双引号,因为单引号会阻止变量睁开。3.6、查看镜像标签
假如基础镜像(即FROM指令指定的镜像)中已经包罗了某些标签,那么这些标签会被继承。假如有雷同键的标签在新镜像的Dockerfile中被重新界说,那么新界说的值将覆盖原有的值。
声明镜像内服务监听的端口
用于设置环境变量5.1、指令格式
用于将文件、目次或远程文件URL添加到镜像的文件系统中6.1、指令格式
编写Dockerfile的时候copy宿主机文件到镜像中。7.1、指令格式
允许从一个已有的镜像、构建阶段大概其他命名的上下文中复制文件
在一个多阶段构建中,可以指定从名为build的构建阶段复制文件
用于设置后续当前构建阶段中默认利用的用户名(或 UID)以及可选的用户组(或 GID)。8.1、指令格式
假如所指定的用户没有主组,那么镜像(或之后的指令)将会以根组(root group)的身份运行。
用于为 Dockerfile 中随后的 RUN, CMD, ENTRYPOINT, COPY, 和 ADD 指令设置工作目次。9.1、指令格式
假如指定的工作目次不存在,纵然之后的 Dockerfile 指令未利用到它,也会被创建。
Dockerfile 中可以多次利用 WORKDIR 指令。假如给出的是相对路径,它将是相对于前一个 WORKDIR 指令的路径。10、VOLUME
最后的 pwd 命令的输出将是 /a/b/c。
创建一个数据卷挂载点10.1、指令格式
这个 Dockerfile 将生成一个镜像,使得执行 docker run 时会在 /myvol 创建一个新的挂载点,并将 greeting 文件复制到新创建的卷里。10.3、注意事项
指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,全部传入值作为该命令的参数11.1、指令格式
每个DockerFile中只能有一个ENTRYPOINT,当指定多个时只有最后一个起效
当你运行这个容器时,可以看到top是唯一的进程:
运行指定命令12.1、指令格式
每条RUN指令将在当前镜像基础上执行指定命令,并提交为新的镜像层
当命令较长时可以利用\来换行
CMD指令用来指定启动容器时默认执行的命令13.1、指令格式
假如利用CMD为ENTRYPOINT指令提供默认参数,那么CMD和ENTRYPOINT指令都应该以exec情势指定。五、DockerFile制作镜像(制作nginx镜像)
RUN实际上运行一个命令并提交结果;CMD在构建时不执行任何操纵,但指定了镜像的预期命令。
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。1.6、将镜像推送到Registry
您可以在访问凭证页面修改凭证密码。
现在我还没注册,暂时写不了这部分的镜像上传
但基本思路还是注册登录账户--> 本地登录仓库--> 给需要上传的镜像tag标签 --> docker push -->官网验证即可
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |