当前位置: 首页 > 知识库问答 >
问题:

如何用python和Java运行Docker?

巫马炫明
2023-03-14

我需要在我的docker容器中同时使用java和python来运行一些代码。

#get python
FROM python:3.6-slim

RUN pip install --trusted-host pypi.python.org flask

#get openjdk

FROM openjdk:slim


COPY . /targetdir
WORKDIR /targetdir

# Make port 81 available to the world outside this container
EXPOSE 81

CMD ["python", "test.py"]
from flask import Flask

import os
app = Flask(__name__)


@app.route("/")

def hello():
    html = "<h3>Test:{test}</h3>"
    test = os.environ['JAVA_HOME']

    return html.format(test = test)


if __name__ == '__main__':
    app.run(debug=True,host='0.0.0.0',port=81)
D:\MyApps\Docker Toolbox\Docker Toolbox\docker.exe: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown.

我的目标

我必须运行一个运行Java文件的python程序。我使用的python库需要java_home的路径。

我的问题:

Python包装器以我需要的方式运行文件。

共有1个答案

唐焕
2023-03-14

好吧,我花了一点时间才弄明白。谢谢你的回答。

我认为我的方法不起作用,因为我没有Linux的基本版本。

所以是这样的:

    null
### 1. Get Linux
FROM alpine:3.7

### 2. Get Java via the package manager
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
&& apk add --no-cache --virtual=build-dependencies unzip \
&& apk add --no-cache curl \
&& apk add --no-cache openjdk8-jre

### 3. Get Python, PIP

RUN apk add --no-cache python3 \
&& python3 -m ensurepip \
&& pip3 install --upgrade pip setuptools \
&& rm -r /usr/lib/python*/ensurepip && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
rm -r /root/.cache

### Get Flask for the app
RUN pip install --trusted-host pypi.python.org flask

####
#### OPTIONAL : 4. SET JAVA_HOME environment variable, uncomment the line below if you need it

#ENV JAVA_HOME="/usr/lib/jvm/java-1.8-openjdk"

####

EXPOSE 81    
ADD test.py /
CMD ["python", "test.py"]
  • 使用python包的困难

正如Joabe Lucena在这里指出的,Alpine可能会有某些python包的问题。我建议您使用最适合您的Linux发行版,例如CentOS。

 类似资料:
  • 问题内容: 我需要在docker容器中同时使用java和python来运行一些代码。 这是我的dockerfile:如果我不添加 FROM openjdk:slim,* 它将正常运行 * test.py应用程序位于同一目录中: 我收到此错误: 我到底在做什么错?我是Docker的新手,也许我错过了一步。 额外细节 我的目标 我必须运行一个运行Java文件的python程序。我正在使用的python

  • 我有一个安装了python和java的docker映像,现在我想将这两个进程作为docker的子进程运行。 我查看了这篇文章,它解释了如何在安装了docker和python的情况下准备图像。它并没有解释如何让它们都运行。如何使用python和Java运行Docker? 我检查了如何在dockerhttps://runnable.com/docker/rails/run-multiple-proce

  • 问题内容: 我安装了Anaconda并可以运行Python,因此我假设我已正确安装了它。按照此介绍性文档,我尝试安装Python v3.3,因此将以下行复制并粘贴到控制台中: 但是,这给了我一个错误: 找不到命令 运行Conda我需要做什么? 我正在Linux系统上工作。 问题答案: 你可能想尝试一下: 对于anaconda 2: 对于anaconda 3: 对于anaconda 4: 使用Ana

  • 问题内容: 我在文件MyClass.java文件中有一个名为MyClass的类(下面提到的代码) 我在上课 但是我正在尝试使用 要么 我遇到错误 但是,如果我省略了软件包名称,则可以运行该程序。我要去哪里错了? 问题答案: 确保您位于包文件夹(已编译的类文件所在的文件夹)的父目录中,并执行以下命令: 下面是一个示例文件结构: 在上面的示例结构中,您将必须从“ bin”目录中执行命令。 另外,将类定

  • 问题内容: 我尝试过的 然后 再发送密码导致没有root 然后导致“频道关闭”错误 然后导致不被root 然后写到标准输入并刷新它导致没有root 问题答案: 看看这个例子: 在此处找到具有更多说明的示例:http : //jessenoller.com/2009/02/05/ssh- programming-with-paramiko-completely- different/ 希望能帮助到你

  • 我正在尝试使用PySpark用Python运行Spark graphx。我的安装似乎是正确的,因为我能够很好地运行pyspark教程和(Java)GraphX教程。大概既然GraphX是Spark的一部分,pyspark应该可以接口它,对吗? 以下是Pyspark的教程:http://spark.apache.org/docs/0.9.0/quick-start.html http://spark