Dockerfile就是用来构建docker镜像的构建文件,是一段命令脚本

    1. # 选取基础镜像
    2. FROM java:8
    3. # 设置环境变量
    4. ENV PROJECT_HOME /usr/local/zilan
    5. ENV PROJECT_NAME zilan-test-0.0.1-SNAPSHOT
    6. ENV JAVA_OPTS ""
    7. # 创建工作目录
    8. RUN mkdir $PROJECT_HOME
    9. #RUN mkdir $PROJECT_HOME/upload
    10. # 拷贝部署文件
    11. COPY $PROJECT_NAME.jar $PROJECT_HOME
    12. COPY ext/*.* $JAVA_HOME/jre/lib/ext/
    13. RUN sed -i '/security.provider.9=sun.security.smartcardio.SunPCSC/a\security.provider.10=com.sansec.jce.provider.SwxaProvider' $JAVA_HOME/jre/lib/security/java.security
    14. #镜像启动入口
    15. ENTRYPOINT java $JAVA_OPTS -jar $PROJECT_HOME/$PROJECT_NAME.jar
    # 用来构建镜像的基础镜像为java:8
    FROM java:8
    # 设置环境变量,方便下面程序调用
    ENV PROJECT_HOME /usr/local/zilan
    ENV PROJECT_NAME zilan-test-0.0.1-SNAPSHOT
    #服务启动的参数比如分配的内存大小,q
    ENV JAVA_OPTS ""
    # 创建工作目录 /usr/local/zilan,不存在就创建
    RUN mkdir $PROJECT_HOME
    #RUN mkdir $PROJECT_HOME/upload
    # 拷贝部署文件
    #拷贝jar包到/usr/local/zilan这个目录
    COPY $PROJECT_NAME.jar $PROJECT_HOME
    #拷贝 ext目录的依赖文件到java的lib目录
    COPY ext/*.* $JAVA_HOME/jre/lib/ext/
    #待说明-----------------------------------------------------
    RUN sed -i '/security.provider.9=sun.security.smartcardio.SunPCSC/a\security.provider.10=com.sansec.jce.provider.SwxaProvider' $JAVA_HOME/jre/lib/security/java.security
    #镜像启动入口
    #jar包启动的命令
    ENTRYPOINT java $JAVA_OPTS -jar $PROJECT_HOME/$PROJECT_NAME.jar
    

    Dockerfile构建指令

    参数 解释 说明
    RROM 指定基础镜像 这个镜像是通过哪个基础镜像来创建的镜像
    MAINTAINER 维护者信息 这个脚本是谁编写和管理
    RUN 在命令前面添加 这个脚本要做什么操作
    ADD 拷贝文件,会自动解压
    WORKDIR 设置当前工作目录
    VOLUME 设置卷,挂载主机目录 存放服务文件的地方
    EXPOST 它要打开
    CMD
    指定容器启动后要干的事情