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