DockerFIle介绍

dockerfile是用来构建docker镜像的文件!命令参数脚本!

构建步骤

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

DockerFile构建过程

基础知识

  • 每个保留的关键字(指令)都必须是大写字母
  • 执行从上到下顺序执行
  • 表示注释

  • 每一个指令都会创建提交一个新的镜像层,并提交!

dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单!
Docker镜像逐渐成为企业交付的标准,必须要掌握!

步骤 开发,部署,运维 缺一不可

DockerFile:构建文件, 定义了一切的步骤,源代码
DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品.
Docker容器:容器就是镜像运行起来提供的服务器
**

DockerFile的指令

  1. FROM # 基础镜像,一切从这里开始构建
  2. MAINTAINER # 镜像是谁写的,姓名+邮箱
  3. RUN # 镜像构建的时候需要运行的命令
  4. ADD # 步骤 添加的内容
  5. WOEKDIR # 镜像工作的目录
  6. VOLUME # 噶在的目录
  7. EXPOSE # 保留端口配置
  8. CMD # 指定这个容器启动的时候要运行的命令, 只有最后一个会生效,可被替代
  9. ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
  10. ONBUILD # 当构建一个被继承DockerFile这个时候就会 ONBUILD 的指令.触发指令
  11. COPY # 类似ADD, 将我们文件拷贝到镜像中
  12. ENV # 构建的时候设置环境变量

image.png

实战测试

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

创建一个自己的centos

  1. # 1.编写Dockerfile文件
  2. liuyang@docker:~/dockerfile$ cat mydockerfile-centos
  3. FROM centos
  4. MAINTAINER LiuYang<944491509@qq.com>
  5. FROM centos
  6. MAINTAINER LiuYang<944491509@qq.com>
  7. ENV MYPATH /usr/local
  8. WORKDIR $MYPATH
  9. RUN yum -y install vim
  10. RUN yum -y install net-tools
  11. EXPOSE 80
  12. CMD echo $MYPATH
  13. CMD echo "--------end-------"
  14. CMD /bin/bash
  15. # 2.通过这个文件构建镜像
  16. # 命令 docker build -f mydockerfile-centos -t mycentos .
  17. # 构建成功
  18. Successfully built 91d70dde3841
  19. Successfully tagged mycentos:latest
  20. # 3运行测试

对比之前的centos 我们增加了vim和ifconfig,修改了工作目录
**