zoukankan      html  css  js  c++  java
  • 把Jar包打包为docker镜像

    使用Dockfile来创建镜像

    试验的jar包是用httpServer写的一个简单web服务,访问/test就返回helloworld,下面先拉取一个java:8的基础镜像:

    docker pull java:8,再用docker images检查一下:

    下面是Dockfile的内容:

    FROM java:8
    MAINTAINER xxx
    COPY httpServerDemo.jar /usr/local/httpServerDemo.jar
    EXPOSE 8089
    ENTRYPOINT ["java", "-jar", "/usr/local/httpServerDemo.jar"]

    生成镜像:

    把Dockfile和jar包放在同一个目录下,执行:docker build -t httpserver_demo:1.0 -f Dockerfile .,注意Dockerfile后面的点指的是把当前目录作为上下文目录,创建镜像时,会把上下文目录的文件拷贝到镜像中。

    启动镜像:

    docker run -P httpserver_demo:1.0,-P是把Dockerfile里EXPOSE声明的端口映射到宿主机一个随机的高阶端口
    docker run -p 8090:8089 httpserver_demo:1.0,-p就是指定映射关系,可以看出前面是宿主机的端口,后面是镜像的端口
    也可以用--name指定启动容器的名称:docker run --name httpserverDemo -p 8091:8089 httpserver_demo:1.0

     
     

    Dockerfile内容解释:

     java:8就是刚下载的基础镜像,MAINTAINER是作者,COPY是把本地的jar拷贝到镜像中,EXPOSE声明镜像开放的接口,

    ENTRYPOINT 是指定在docker run时的命令参数,类似的还是RUN和CMD命令,区别参考:https://www.cnblogs.com/klvchen/p/9238410.html

    结论

    可以在启动镜像的时候,用--entrypoint 选项来覆盖Dockfile里ENTRYPOINT 的设置,来增加JaCoco的javaagent参数

  • 相关阅读:
    SDUT OJ 2862 勾股定理
    交换排序(java)
    boost::asio的http client应用笔记
    Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld
    排序
    python爬虫(一)抓取 色影无忌图片
    hdu3377之简单路径求最值
    hdu 4406 费用流
    1次查询优化的过程
    mysql中的group_concat函数的用法
  • 原文地址:https://www.cnblogs.com/dk1024/p/15539917.html
Copyright © 2011-2022 走看看