【问题标题】:How to run jpos inside a docker container?如何在 docker 容器中运行 jpos?
【发布时间】:2018-11-19 06:52:39
【问题描述】:

我想在 docker 容器中运行 jpos(isoserver)。到目前为止,我在 Docker 中心找到了this 图像。我找不到任何有关此图片的详细信息文档自述文件中只有几行可用。

我找到了一些 Docker 文件并且构建成功。但是当我尝试运行时,它会将我带到 bash 提示符。我已经运行了这个命令

docker run -t -i jpos/ubuntu_trusty_jdk8 /bin/bash

没有 q2 服务器正在运行。 当我尝试运行此命令时,docker 容器中没有可用的日志

sudo 码头工人日志 7c2661e82141

我可以使用现有的 docker 映像来满足我的要求吗?如果是,如何运行,修改现有 docker 镜像的详细文档在哪里?

有人可以帮忙吗?

Github link

【问题讨论】:

    标签: java docker iso jpos


    【解决方案1】:

    你可以看看Docker files

    如果您使用jPOS-template,您可以创建自己的 Dockerfile,如下所示:

    FROM jpos/ubuntu_jdk8:latest
    
    ADD jpos/build/distributions/jpos*.tar.gz /
    LABEL vendor="jPOS.org"
    LABEL org.jpos.template="2.1.1 master/2a2874f"
    RUN ln -s /jpos-2.1.1 /jpos
    WORKDIR /jpos
    
    CMD ["bin/q2"]
    

    然后你可以用这样的脚本来构建你的图像:

    !/bin/bash
    
    cd `dirname $0`
    rm -fr jpos 
    git clone https://github.com/jpos/jPOS-template.git jpos
    (cd jpos && gradle dist)
    docker rmi jpos/template
    docker build -t="jpos/yourproject" .
    

    (您显然是从您的项目中克隆的,基于 jPOS 模板)。

    这里的重点:

    • gradle distbuild/distributions 目录中创建分发
    • Dockerfile 中的 ADD jpos/build/distributions/jpos*.tar.gz / 扩展了容器内的 tarball。

    【讨论】:

      【解决方案2】:

      作为镜像的 Dockerfile,您指的是使用: CMD ["bash"] 表示它将执行 bash。

      您可以使用 Dockerfile 创建自己的镜像,其中基础镜像是 jpos/ubuntu_vivid_jdk8,您可以使用 ENTRYPOINT 或 CMD 指定默认命令。 请参考https://docs.docker.com/engine/reference/builder/#dockerignore-file

      如果您需要进一步的帮助,请告诉我。

      【讨论】:

      • 感谢您的重播。 Spring boot 和 docker 有很多可用的示例。我经历了其中的几个。但问题是,jpos 是一个模块化的 gradle 项目。我没有任何开始的线索。很少有例子会很有帮助。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-04
      • 2015-03-05
      相关资源
      最近更新 更多