DockerFile简介以及使用

DockerFile是用来构建docker镜像的构建文件,是有一系列命令和参数构成的脚本

构建的三步骤:编写dockerfile文件→build构建→docker run

dockerfile保留字指令:

  FROM:当前新镜像是基于那镜像

  MAINTAINER:镜像作者

  RUN:容器需要运行的命令

  EXPOSE:对外端口号

  WORKDIR:指定终端进入的工作目录

  ENV:设置环境变量

  ADD:将宿主机目录下的文件拷贝进镜像,ADD命令会自动处理URL和解压压缩包

  COPY:将宿主机目录下的文件拷贝进镜像

  VOLUME:容器数据卷

  CMD:指定一个容器运行时要运行的文件(可以有很多CMD命令,但只有最后一个生效)

  ENTRYPOINT:指定一个容器运行时要运行的文件

  OMBUILD:构建一个被继承的dockerfile时运行命令,父镜像在子镜像继承之后,父镜像onbuild被cufa触发

案例1:(配置tomcat)# vim dockerfile

  FEOM centos  // 基于centos镜像

  MAINTAINER  WU-WU  // 作者信息:wu-wu

  ENV mypath /usr/local  // 自定义环境变量

  WORKDIR  /usr  //定义工作目录

  COPY jkd-8u171-linux-×86.tar.gz  /usr/local  // 添加jdk×86到/usr/loca

  ADD jkd-8u171-linux-×64.tar.gz  /usr/local  // 添加并解压jdk×64到/usr/local

  ADD apache-tomcat-9.0.6.tar.gz /usr/local  // 添加并解压tomcat到/usr/local

  # 配置java与tomcat的环境变量

  ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  ENV CLASS_HOME /usr/local/apache-tomcat-9.0.6

  ENV CLASS_BASE /usr/local/apache-tomcat-9.0.6

  ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

  VOLUME ["/mydata1","/mydata2","/mydata3"]  //加入三个容器卷

  RUN yum -y instatll vim  // 安装vim组件

  RUN yun -y install net-tool  // 安装网络组件

  EXPOSE 9999  // 监听端口

  CMD  bin/bash  

 构建:# docker -f /home/dockerfile -t centos_tomcat .  // -f:需要带当前路径

   # docker -t centos_tomcat .  //-t:当前路径

    

  

原文地址:https://www.cnblogs.com/wu-wu/p/9909710.html