《基于Kubernetes的容器云平台实战》——3.2.5 构建镜像

举报
华章计算机 发表于 2019/06/02 01:04:32 2019/06/02
【摘要】 本书摘自《基于Kubernetes的容器云平台实战》——书中的第3章,第3.2.5节作者是陆平、左奇、付光、张晗、赵培、单良

3.2.5 构建镜像

docker image build根据Dockerfile构建镜像。它通过Docker引擎动态生成容器执行Dockerfile中指令,逐次将执行结果提交为中间镜像和指定标识镜像。基本命令语法为:

docker image build [OPTIONS] PATH | URL | -

PATH、URL确定构建上下文。如指定PATH,将路径下(也包括当前路径)文件和目录打包(.dockerignore含不想上传内容)上传到Docker引擎;如指定git URL,则引擎克隆该项目指定分支,作为上下文使用;还可使用远端tar文件以及‘-’表示的标准输入作为上下文。

-f/--file指定Dockerfile的路径,默认为当前路径下Dockerfile文件。

-t/--tag指定构建成功后镜像标识,使用多个该选项来指定多个镜像标识。

Dockerfile中可以定义ARG参数,这些参数用--build-arg选项在构建时动态指定,预定义参数也是如此:--build-arg=http_proxy=“http://one.proxy”。

使用--iidfile将镜像ID写入指定文件。Dockerfile中有多段时,--target指定从哪段开始构建。--label指定生成镜像的标签。--pull会拉取基础镜像新版本,不使用本地的。-q/--quiet控制输出信息。--add-host可定义主机名到IP映射。--network=bridge | host | none | container:<name|id>指定运行run命令的网络模式。--security-opt=[]可参见前面docker container run选项的说明,值为key=value形式。

--rm要求成功后删除中间层,--force-rm则总是删除。--no-cache说明构建时不使用缓存;而--cache-from=[]中包含的镜像用于搜索缓存镜像层。--squash是实验性功能,将当前build过程只作为一层添加到父镜像上。

还有一些选项用于限制构建容器的资源占用,比如:--cgroup-parent;-m/--memory;--memory-swap;--shm-size;--cpu-shares;--cpu-period,--cpu-quota,--cpuset-cpus,--cpuset-mems;--ulimit=[]等。

另外,--isolation选项指定使用的容器隔离技术,只在Windows下有意义。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。