DockerFile

DockerFile介绍

dockerfile是用来构建 dokcer镜像的文件!命令参数脚本! 构建步骤:

  • 1、编写一个 dockerfile文件
  • 2、 docker build构建成为一个镜像
  • 3、 docker run运行镜像
  • 4、 docker push发布镜像( DockerHub、阿里云镜像仓库!)

查看官方是怎么做的

odoo14 docker odoo14 dockerfile_容器


odoo14 docker odoo14 dockerfile_Docker_02


很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!


DockerFile的构建过程

  • 基础知识
  • 1、每个 保留关键字(指令)都是必须是大写字母
  • 2、执行从上到下顺序执行
  • 3、#表示注释
  • 4、每一个指令都会创建提交一个新的镜像层,并提交!

    dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写 dockerfile文件,这个文件十分简单!
    Docker镜像逐渐成为企业交付的标准,必须要掌握!
    步骤:开发,部署,运维。。。缺一不可!
  • DockerFile:构建文件,定义了一切的步骤,源代码
  • Dockerlmages:通过 DockerFile构建生成的镜像,最终发布和运行的产品!
  • Docker容器:容器就是镜像运行起来提供服务器

DockerFile的指令

FROM
#基础镜镜像,一切从这里开始构建
MAINTAINER
#镜像是谁写的,姓名+邮箱
RUN
#镜像构建的时候需要运行的命令
ADD
#步骤: tomcat镜像,这个 tomcat压缩包!添加内容
WORKDIR
#镜像的工作目录
VOLUME
#挂载的目录
EXPOSE
#暴露端口配置
CMD
#指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT
#指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD
#当构建一个被继承 DockerFi门e这个时候就会运行 ONBUILD的指令。触发指令
COPY
#类似ADD,将我们文件拷贝到镜像中 
ENV
#构建的时候设置环境变量!  比如。构建es时候制定了大小,,,构建mysql 的时候指定了用户密码

odoo14 docker odoo14 dockerfile_容器_03

实战:构建自己的 ubuntu


Docker Hub中99%镜像都是从这个基础镜像过来的 FROM scratch ,然后配置需要的软件和配置来进行的构建

odoo14 docker odoo14 dockerfile_Docker_04

odoo14 docker odoo14 dockerfile_运维_05


odoo14 docker odoo14 dockerfile_odoo14 docker_06

docker build -f mydockerfile-ubuntu -t(tag) myubuntu:0.1 .(构建当前的路径)


自己在build中遇到的问题

odoo14 docker odoo14 dockerfile_odoo14 docker_07

odoo14 docker odoo14 dockerfile_Docker_08


odoo14 docker odoo14 dockerfile_docker_09


我们增加之后的镜像

odoo14 docker odoo14 dockerfile_docker_10


我们可以列出本地进行的变更历史

odoo14 docker odoo14 dockerfile_运维_11


我们平时拿到一个镜像,可以研究一下它是怎么做的了?