zoukankan      html  css  js  c++  java
  • Dockfile镜像部署jar

    Dockfile 配置
    #base mirror
    FROM anapsix/alpine-java
    #create by
    MAINTAINER username<email@xxx.com>
    #set workdir
    WORKDIR /app
    #拷贝文件到容器
    ADD app.jar /app/app.jar
    #build arg
    #target run environment:test,dev,prod
    ARG TARGET_VEN
    #add profiles for target enviornment
    COPY /config/${TARGET_VEN}/application-${TARGET_VEN}.yml /app/config/application-prod.yml
    # 暂定
    ENV JAVA_OPTS="-server -Xms1024m -Xmx1024m"
    ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar" ]
     
     

    docker部署镜像文件到测试机的流程
     

    docker verson: 18.03.1-ce
    安装docker服务
    yum install docker 
    启动docker容器
    service docker start 
    测试服务器上手动在根目录创建/app文件夹(此目录及子目录下放置jar包和DockerFile以及对应运行环境的配置文件)
    将项目jar包和DockerFile上传到/app文件夹下,rz命令上传 不支持就yum install -y lrzsz
    进入/app目录,创建/config文件夹。进入config文件夹,根据服务运行的环境创建dev、test、prod文件夹。再在每个环境的文件夹下上传对应的application-*.yml。
    进入/app目录执行命令: docker build --build-arg TARGET_VEN=prod -t app:v1.0 . 
    -t 后面为镜像名称及版本号,如果不加版本号默认是lastest,.表示当前执行路径下的Dockerfile,TARGET_VEN为服务器环境相关配置
    执行成功后最后又Successfully标识以及创建镜像成功后的IMAGE ID
    也可执行命令: docker images 查看app的镜像信息。需要用到IMAGE ID
    执行命令: docker run --restart=on-fialure:5 --name app -p 8088:8088 -v /home/load:/home/load -v /home/server_log:/home/server_log --privileged=true -d IMAGE ID。
    命令及注释
    命令    注释
    –restart=on-fialure:5    表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次
    –name app    命名一个容器名称,后续可以启动,停止
    -p 8088:8088    -p 暴露端口;前一个8088是宿主机端口(访问端口),后一个8088为容器端口。表示端口映射关系。端口号取决于application-*.yml的server-port配置
    -v /home/load:/home/load    -v 目录挂载,冒号前面是宿主机目录,后面是docker容器目录。将用户的上传文件保存到宿主机上。路径取决于application-*.yml的LoadFileConfig的配置(项目中自定义的属性)
    -v /home/server_log:/home/server_log    用于保存日志路径,路径取决于logback-spring.yml的springProfile的配置
    -d    后台执行
    IMAGE ID    Dockerfile创建成功后的镜像ID

  • 相关阅读:
    谁在TDD
    开源许可证简单总结
    【转】IIS HTTP500错误以及COM+应用程序8004e00f错误的解决方法
    [原]Linux平台Boost的编译方法
    [原]linux下格式化磁盘的相关问题
    [原]编译MongoDB,C++连接MongoDB测试
    [转]谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词(科普)
    [转]linux下如何查看文件编码格式及转换文件编码
    [原]linux(虚拟机)下安装MySQL
    [转]Linux下比较全面的监控工具dstat
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317355.html
Copyright © 2011-2022 走看看