zoukankan      html  css  js  c++  java
  • 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里面所设置的这些内容实际上基本上都可以在容器启动时设定,但是想要做成一个成熟的镜像还是有比要把这些基础设置填写完全.

  • 相关阅读:
    状压dp(基础)
    JVM调优实战
    MySql5.6性能优化
    淘淘商城_day09_课堂笔记
    【剑指offer】找出数组中任意一个重复的数字,C++实现
    【剑指offer】字符串转换为数字,C++实现
    【剑指offer】圆圈中最后剩下的数字(约瑟夫问题),C++实现
    【剑指offer】扑克牌的顺子,C++实现
    【剑指offer】n个骰子的点数,C++实现
    android webview 漏洞背后的节操
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5462958.html
Copyright © 2011-2022 走看看