DockerFile
DockerFile介绍
dockerfile是用来构建 dokcer镜像的文件!命令参数脚本! 构建步骤:
- 1、编写一个 dockerfile文件
- 2、 docker build构建成为一个镜像
- 3、 docker run运行镜像
- 4、 docker push发布镜像( DockerHub、阿里云镜像仓库!)
查看官方是怎么做的
很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!
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 的时候指定了用户密码
实战:构建自己的 ubuntu
Docker Hub中99%镜像都是从这个基础镜像过来的 FROM scratch ,然后配置需要的软件和配置来进行的构建
docker build -f mydockerfile-ubuntu -t(tag) myubuntu:0.1 .(构建当前的路径)
自己在build中遇到的问题
我们增加之后的镜像
我们可以列出本地进行的变更历史
我们平时拿到一个镜像,可以研究一下它是怎么做的了?