python - 如何动态定义 Dockerfile 中的参数并将其传递给下一步?
问题描述
我想:
step 1. 在 Docker 镜像中获取正在运行的 Python 版本
step 2. 找到 Python Env 的不同路径
步骤 3.全部导出
因为我知道 Python 路径之一在哪里,所以我目前在 Dockerfile 中的解决方案是:
ENV PYTHONPATH "${PYTHONPATH}:THE_PATH_TO/pyvenv/lib/python3.7/site-packages"
它正在工作,但不是动态的,也不漂亮。
我尝试了以下脚本。
RUN \
# read the python version
PYVER=$(python3 -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))'); \
# possible path to python env
for DEP_PY_PATH in $(find UNDER_A_FOLDER -mindepth 1 -maxdepth 1 -type d); do \
if [ -d "${DEP_PY_PATH}/pyvenv/lib/python${PYVER}/site-packages" ]; then \
PYTHONPATH=${PYTHONPATH}:${DEP_PY_PATH}/pyvenv/lib/python${PYVER}/site-packages; \
fi; \
done
ENV PYTHONPATH "${PYTHONPATH}"
没有错误,也无法正常工作。
解决方案
推荐阅读
- javascript - 在输入输入后如何从字符串中提取最后一个字符?
- laravel - 使用 Google oauth 登录时如何获取用户的组织 ID?
- javascript - D3:在工具提示内显示折线图时出现问题
- c# - 使用 for 和 while 的 C# Sharp Grade 程序
- docker - 我应该在 docker swarm 中使用 HTTPS 吗?
- python - python 3中Windows上的离线语音识别
- javascript - Jquery tablesorter 可编辑列
- sql - 动态 SQL 表名作为变量
- r - 为矩阵创建行和列
- javascript - 使用对象数组中的 propTypes 反应组件