Fork me on GitHub

使用Dockerfile定制docker镜像总结

目录

  • 背景
  • 第一部分 Hive 性能瓶颈根源
  • Hive 配置优化
  • Hive 语句优化
  • 总结

背景

构建Docker镜像通常有两种方式:

  • 基于容器制作;
  • 通过Dockerfile;

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

第一部分 Dockerfile文件规范

Docker镜像的分层

  1. Dockerfile中的每个指令都会创建一个新的镜像层
  2. 镜像层将被缓存和复用
  3. 当Dockerfile的指令被修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效
  4. 某一层的镜像缓存失效后,其之后的镜像层缓存都会随之失效
  5. 镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除则镜像中依然会包含该文件

Dockerfile编写规则

Dockerfile中是基于其指令进行编写的,其规则可以参考下面的表格,当然,在编写Dockerfile时,其格式是需要严格遵循的:

除注释外,第一行必须使用FROM指令所基于的镜像名称;之后使用MAINTAINER指明维护信息;然后就是一系列镜像操作指令,如RUN、 ADD等;最后便是CMD指令来指定启动容器时要运行的命令操作。其中RUN指令可以使用多条,CMD只有最后一条可以生效!

第二部分 Dockerfile文件组成

2.1 注释

2.2 FROM命令

第三部分 编译Dcokerfile文件

0%