docker(六):镜像构建--Dockerfile

dockerfile简介:

通过dockerfile文件,可以帮助我们自助创建镜像,并且能够自定义创建过程,它是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像

优点:

  • 像编程一样,支持分层构建以及缓存
  • 可以快而准确的重新创建镜像
  • 方便维护和升级
  • 便于持续继承
  • 可以在任何地方快速构建镜像
  1. Dockerfile 创建(可以选择合适的基础镜像,或者自己写)

*基于centos镜像

  1. 首先规划存放dockerfile的文件目录结构
    1. 例如:mkdir-p ***/***
  2. 进入所创建的目录下
    1. Vim Dockerfile(D大写,创建时默认读取)
    2. 可以自己写入命令

  1. 写好之后需要一个index.html
    1. Echo 仓库名>index.html
  2. 开始构建
    1. Docker build -t 镜像名:标签
  3. 查看发现构建成功,然后就可以启动容器啦

  1. Dockerfile 指令
    1. from(指定基础镜像)
      • 格式:FROM<image>或FROM<image>:<tag>
    2. run(在命令前加run)
      • 格式:RUN < command >或RUN[ "executable" ,  "param1" ,  "param2" ]
    3. copy(复制)
    4. add(跟copy类似,但比copy功能多)
      • 格式:ADD <src>... <dest>
    5. workdir(设置当前工作目录,类似于cd)
      • 格式:WORKDIR /path/to/workdir
    6. cmd(指定容器启动后要干的事情)
      • CMD [ "executable" , "param1" , "param2" ] 使用  exec 执行
    7. Entrypoint(配置容器启动后执行的命令)
      • ENTRYPOINT [ "executable" ,  "param1" , "param2" ]
    8. Env(设置环境变量)
      • 格式:ENV<key> <value>
    9. Expose(指定对外端口号)
      • 格式:EXPOSE<port> [<port>...]
    10. maintained(指定维护者信息)
      • MAINTAINER <name>
    11. volume(设置卷,挂载主机目录)
      • 格式:VOLUME [ "/data" ]

  1. 优化准则
  • 选择合适的基础镜像
  • 优化指令顺序
  • 合并指令
  • 删除多余的文件,清理没用的中间结果
  • 使用dockerignore

注意:

1、不能忽视dockerfile的优化

2、不能为了优化而优化,要先以满足业务目标为准,选择合适的基础镜像,或者创建符合我们需求的镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值