Мне нужны java и python в моем контейнере Docker для запуска некоторого кода.
Это мой dockerfile:
Это работает правильно, если я не добавлю ОТ 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 запускает файл так, как мне нужно для его запуска.