在泊坞窗运行Python和Java(Running Python and Java in Docke

2019-10-29 03:19发布

我有安装Python和Java的一个码头工人的形象,现在我想运行这两个进程作为泊坞窗的子进程。

我已经检查了这个职位,说明如何安装码头工人和Python 编写的图像。 它没有解释如何得到他们两人的运行。 如何使用Python和Java运行泊坞窗?

我查了一下如何在泊坞窗中运行多个进程https://runnable.com/docker/rails/run-multiple-processes-in-a-container

我知道这是一件坏事,在一个容器中运行多个进程。 这是一个紧迫性和局限性,所以我会坚持下去一段时间。

因此泊坞窗的文档(上图)说,准备这将启动两个进程一个shell文件并运行它搬运工文件中。

然而!!! 我连接到我的码头工人,从主机的命令行( docker exec -it container_name bash )。 我看到( top )正在运行的进程。 有Java进程正在运行和Python程序没有运行。

Dockerfile

# Prepare slim python, and install open-jdk-11
ENTRYPOINT ./startJavaAndPython.sh

startJavaAndPython.sh

java -XX:+UseContainerSupport $JAVA_OPTIONS -jar java-app.jar;
python app.py;

我也看了https://askubuntu.com/questions/287350/start-a-new-process-without-blocking-the-terminal和https://unix.stackexchange.com/questions/152310/how-to-correctly -start-的应用程序从-一个壳/ 305769 ,其并没有我的情况下工作。 因为你看,我的壳,如果命令不是结束; ,会出现错误,当我开始泊坞窗。

更新

1)因此,&符号不帮。

startJavaAndPython.sh

java -XX:+UseContainerSupport $JAVA_OPTIONS -jar java-app.jar &;
python app.py &;

我也试过,但没有奏效。 startJavaAndPython.sh

java -XX:+UseContainerSupport $JAVA_OPTIONS -jar java-app.jar &
python app.py &

我收到了

$ docker run my-composed-task
: not foundonJava.sh: 1: ./startJavaAndPython.sh:
: not startJavaAndPython.sh: 2: ./startJavaAndPython.sh:

2)我可以开始我的搬运工容器,连接到它的ssh,并手动运行Python应用程序。 它的工作! 但是,如何自动去做,没有手!

3)我使用Windows 10的主机。

我使用这些链接,这可能是对他人有帮助的。 https://askubuntu.com/questions/287350/start-a-new-process-without-blocking-the-terminal

https://unix.stackexchange.com/questions/152310/how-to-correctly-start-an-application-from-a-shell/305769

如何进入一个多克容器的壳呢?

Answer 1:

经过一番痛苦。 正如我所说的,我使用Windows。 它并追加\r在每行的末尾。 然后我的shell脚本有这些神经末梢和无法启动。 更确切地说,它开始第一个命令 - 这是启动Java,但它永远不会执行第二个命令,开始蟒蛇。

startJavaAndPython.sh

java -XX:+UseContainerSupport $JAVA_OPTIONS -jar sidecarForPythonService-app.jar & python app.py;

如果您有其他细节,随意回答。



文章来源: Running Python and Java in Docker