众客华禹

搜索
查看: 401|回复: 0

Docker教程---Dockerfile

[复制链接]

70

主题

70

帖子

378

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
378
发表于 2022-2-15 17:51:11 | 显示全部楼层 |阅读模式
一、Dockerfile文件解析

  概念:Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。

  构建三步骤:1、编写Dockerfile文件;

        2、docker build

        3、docker run

二、Dockerfile构建过程解析

  1、每条保留字指令都必须为大写字母且后面要跟随至少一个参数

  2、指令按照从上到下,顺序执行

  3、#表示注释

  4、每条指令都会创建一个新的镜像层,并对镜像进行提交

三、docker执行Dockerfile的大致流程

  1、docker从基础镜像运行一个容器

  2、执行一条指令并对容器做出修改

  3、执行类似docker commit的操作提交一个新的镜像层

  4、docker再基于刚提交对的镜像运行一个新容器

  5、执行dockerfile中的下一条指令直到所有指令都执行完成。

  6、总结:        
       1205182-20200819092557216-1508913064.png

四、Dockerfile文件保留字讲解

1205182-20200819092831978-323267126.png

五、案例

  编写Dockerfile文件
  1. # 基础镜像
  2. FROM openjdk:8u312-jdk
  3. # 维护者
  4. MAINTAINER zgh
  5. # 设置时区
  6. ENV TZ Asia/Shanghai
  7. # 拷贝jar
  8. COPY doris-data.jar  /doris-data.jar
  9. # 外部端口号
  10. EXPOSE 8095
  11. # 启动jar包
  12. ENTRYPOINT java -jar /doris-data.jar -Dlog4j2.formatMsgNoLookups=true --spring.profiles.active=test
复制代码
  执行build命令
  1. docker build -f Dockerfile -t iregistry.baidu-int.com/yqfk/doris-data:v1.0.0 .
复制代码
   查看镜像.png
  列出镜像的变更历史
    查看历史版本.png
六、CMD、ENTRYPOINT命令详解
    1205182-20200819110854546-519821350.png
    1205182-20200819111028454-645004228.png
七、使用Dockerfile来构建SpringBoot jar的镜像      
1、准备需要打包的jar文件
  1. doris-data.jar
复制代码
2、编写Dockerfile文件
  1. vim Dockerfile
  2. # 基础镜像
  3. FROM openjdk:8u312-jdk
  4. # 维护者
  5. MAINTAINER zgh
  6. # 设置时区
  7. ENV TZ Asia/Shanghai
  8. # 拷贝jar
  9. COPY doris-data.jar  /doris-data.jar
  10. # 外部端口号
  11. EXPOSE 8095
  12. # 启动jar包
  13. ENTRYPOINT java -jar /doris-data.jar -Dlog4j2.formatMsgNoLookups=true --spring.profiles.active=test
复制代码
         打包镜像:
  1. docker build -f Dockerfile -t iregistry.baidu-int.com/yqfk/doris-data:deploy .
复制代码
         启动服务:
  1. docker run -p 8095:8095 iregistry.baidu-int.com/yqfk/doris-data:deploy
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表