如何在Docker容器中运行jpos?

5
我想在Docker容器中运行jpos(isoserver)。目前我在Docker Hub中找到了这个镜像。但是我没有找到有关此镜像的详细文档,只有readme中提供的几行信息。
我发现了一些Docker文件并成功构建了它们。但是当我尝试运行时,它会带我进入一个bash提示符。我运行了以下命令:

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

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

sudo docker logs 7c2661e82141

我能否使用现有的docker镜像来满足我的要求?如果可以,如何运行和修改现有的docker镜像的详细文档在哪里? 有人可以帮忙吗? Github链接
2个回答

4
您可以查看Docker文件
如果您使用jPOS模板,您可以创建自己的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-template的项目中克隆了代码)。

以下是关键要点:

  • gradle dist命令会在build/distributions目录中创建一个分发包。
  • Dockerfile中的ADD jpos/build/distributions/jpos*.tar.gz /命令会将tarball文件解压到容器内部。

0

因为您所引用的Docker镜像的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项目。我没有任何线索可以开始。一些示例将非常有帮助。谢谢。 - mnhmilu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接