Мне нужно как java, так и python в моем контейнере докеров, чтобы запустить некоторый код.
Это мой файл докеров: он работает, если я не добавляю FROM openjdk: slim
#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"]
Приложение 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.
Что именно я делаю неправильно здесь? Я новичок в докере, возможно, мне не хватает шага.
Дополнительные детали
Моя цель
Я должен запустить программу python, которая запускает файл Java. Для используемой библиотеки python требуется путь к JAVA_HOME
.
Мои проблемы:
-
Я не знаю Java, поэтому я не могу запустить файл должным образом.
-
Весь мой код находится в Python, кроме этого Java-бит
-
Оболочка Python запускает файл так, как мне нужно, чтобы он запускался.