• Dockerfile编写语法


      docker镜像本质上就是一个个基础镜像的堆叠,为了做出我们想要的镜像,我们需要考虑最终镜像所需的所有基础环境,然后一层层堆叠.也就是不断以基础镜像搭建上层镜像.

      先看例子:

    # Version: 1.0.0
    # Create Time: 2015-12-25 11:04
    # Author: ***
    # Description:****
    
    # 基于已经配置好的jdk1.8版本进行操作
    FROM jdk:latest
    MAINTAINER ***** <********@qq.com>
    
    # 创建目录
    #RUN mkdir -p -m 777 /home
    
    # 将压缩包迁移到容器中并解压
    ADD tomcat8.tar.gz  /home/tomcat8/
    
    # 暴露文件目录
    #VOLUME ["/home/docker/file/distfirstout", "/home/docker/file/input/D001"]
    #VOLUME ["/app/tomcat8/webapps/"]
    
    # 暴露网络端口
    EXPOSE 8881
    
    # 启动服务
    ENTRYPOINT ["/home/tomcat8/apache-tomcat-8.0.24/bin/catalina.sh", "run"]

      这是一个安装tomcat镜像的dockerfile,基础镜像是一个叫jdk的镜像.

      语法介绍:

      1.FROM 基础镜像

      2.MAINTAIN 作者信息

      3.RUN 命令(该命令是运行在安装软件时,在基础镜像上面运行的命令)

      4.CMD 命令(启动容器时运行的命令,如果文件最后添加了ENTRYPOINT 命令,则该命令会被覆盖)

      5.USED 用户(设置容器操作用户)

      6.EXPOSED 端口(容器向外暴露的端口)

      7.ENV 环境变量(设置容器内环境变量)

      8.ADD 文件(添加文件)

      9.VOLUME 目录(挂在宿主机目录)

      10.WORKDIR 目录(工作目录)

      dockerfile里面所设置的这些内容实际上基本上都可以在容器启动时设定,但是想要做成一个成熟的镜像还是有比要把这些基础设置填写完全.

  • 相关阅读:
    【简单算法】27.验证二叉搜索树
    【简单算法】26. 二叉树的最大深度
    【简单算法】25. 环形链表
    pandas 数据处理
    主成分分析 PCA
    hive 导出数据到本地
    深度学习的优化方法 总结
    ALS算法 (面试准备)
    Bagging和Boosting的区别(面试准备)
    ROC 曲线,以及AUC计算方式
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5462958.html
Copyright © 2020-2023  润新知