我认为我的方法行不通,因为我没有基本的Linux版本。
所以它是这样的:
- 获得Linux(我使用Alpine是因为它是准系统)
- 通过包管理器获取Java
- 获取Python,PIP
可选 :查找并设置JAVA_HOME
- 查找到JAVA_HOME的路径。也许有更好的方法来执行此操作,但是我通过运行容器来完成此操作,然后我使用来查看容器内部
docker exec -it [COINTAINER ID] bin/bash
并找到了它。 - 设置
JAVA_HOME
dockerfile并再次构建并再次运行
这是最终的Dockerfile(它应该与问题中的python代码一起使用):
### 1. Get LinuxFROM alpine:3.7### 2. Get Java via the package managerRUN 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, PIPRUN 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 appRUN 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"]
我是Docker的新手,所以这可能不是最好的解决方案。我愿意提出建议。



