dockerFile
理论:
 FROM: 基本上出现第一行,基于哪个镜像
MAINTAINER: 镜像维护者的姓名和邮箱
RUN: 容器构建时需要运行的命令---------命令行命令,例如 RUN yum -y install vim
EXPOSE: 当前容器对外暴露出的端口
WORKDIR: 默认登录的目录,例如 /root
USER: 指定改镜像以什么样的用户去执行,默认root
ENV: 用于构建镜像过程中设置环境变量,例如 ENV一个路径,WORKDIR引用这个路径
VOLUME: 容器数据卷,用于数据保存和持久化工作,相当于-v,数据备份
ADD: 将宿主机下的文件拷贝进镜像且会自动处理url和解压tar压缩包
COPY: 类似ADD,习惯用ADD
CMD:指定容器启动后要干的事,和RUN相似。注意:dockerFile中有多个CMD指令,只有最后一个生效,CMD会被docker run之后的参数替换。和RUN的区别,cmd是在docker run运行,run是在docker build运行
ENTRTPOINT: 用来指定一个容器启动要运行的命令
 类似CMD,但是不会被docker run后面的命令覆盖,这些命令行参数会被当做参数送给该指令指定的程序
 例子:
 FROM nginx
 ENTRTPOINT [“nginx”, “-c”] #定参
 CMD ["/etc/nginx/nginx.conf"]
实操:
 需求: centos7镜像具备vim + ifconfig + jdk8
 具体见视频
Dockerfile
FROM centos
 MAINTAINER ybd
 ENV MYPATH /usr/local
 WORKDIR $MYPATH
 #安装vim编辑器
 RUN yum -y install vim
 #安装ifconfig命令查看网络IP
 RUN yum -y install net-tools
 #安装java8及lib库
 RUN yum -y install glibc.i686
 RUN mkdir /usr/local/java
 #ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
 ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
 #配置java环境变量
 ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
 ENV JRE_HOME $JAVA_HOME/jre
 ENV CLASSPATH 
    
     
      
       
        J
       
       
        A
       
       
        V
       
       
        
         A
        
        
         H
        
       
       
        O
       
       
        M
       
       
        E
       
       
        /
       
       
        l
       
       
        i
       
       
        b
       
       
        /
       
       
        d
       
       
        t
       
       
        .
       
       
        j
       
       
        a
       
       
        r
       
       
        :
       
      
      
       JAVA_HOME/lib/dt.jar:
      
     
    JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:
    
     
      
       
        J
       
       
        R
       
       
        
         E
        
        
         H
        
       
       
        O
       
       
        M
       
       
        E
       
       
        /
       
       
        l
       
       
        i
       
       
        b
       
       
        :
       
      
      
       JRE_HOME/lib:
      
     
    JREHOME/lib:CLASSPATH
 ENV PATH 
    
     
      
       
        J
       
       
        A
       
       
        V
       
       
        
         A
        
        
         H
        
       
       
        O
       
       
        M
       
       
        E
       
       
        /
       
       
        b
       
       
        i
       
       
        n
       
       
        :
       
      
      
       JAVA_HOME/bin:
      
     
    JAVAHOME/bin:PATH
 EXPOSE 80
 CMD echo $MYPATH
 CMD echo “success--------------ok”
 CMD /bin/bash










