更新
This commit is contained in:
+10
-10
@@ -8,10 +8,10 @@
|
|||||||
# 通过 --build-arg 动态注入以下变量,便于在 CI 中复用同一份 Dockerfile:
|
# 通过 --build-arg 动态注入以下变量,便于在 CI 中复用同一份 Dockerfile:
|
||||||
# VAR_BASE_IMAGE 基础镜像(如 python:3.12-slim、自定义的带 esxi 用户的镜像)
|
# VAR_BASE_IMAGE 基础镜像(如 python:3.12-slim、自定义的带 esxi 用户的镜像)
|
||||||
# VAR_PYTHON_PREFIX Python 安装前缀(依赖安装位置)
|
# VAR_PYTHON_PREFIX Python 安装前缀(依赖安装位置)
|
||||||
# VAR_PYFILE_PATH 项目源码目录(相对构建上下文)
|
# VAR_JARFILE_PATH 项目源码目录(相对构建上下文)
|
||||||
# VAR_PROFILES 应用 profile(dev / prod ...)
|
# VAR_PROFILES 应用 profile(dev / prod ...)
|
||||||
# VAR_PORT 应用监听端口
|
# VAR_PORT 应用监听端口
|
||||||
# VAR_PYFILE 启动入口文件名(不含 .py)
|
# VAR_JARFILE 启动入口文件名(不含 .py)
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
@@ -76,9 +76,9 @@ RUN pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple && \
|
|||||||
# 只拷贝 requirements.txt 而不是整个项目,
|
# 只拷贝 requirements.txt 而不是整个项目,
|
||||||
# 这样源码变化但 requirements 未变时可以复用 pip install 层缓存
|
# 这样源码变化但 requirements 未变时可以复用 pip install 层缓存
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
ARG VAR_PYFILE_PATH
|
ARG VAR_JARFILE_PATH
|
||||||
WORKDIR /opt/apps
|
WORKDIR /opt/apps
|
||||||
COPY ${VAR_PYFILE_PATH}/requirements.txt ./
|
COPY ${VAR_JARFILE_PATH}/requirements.txt ./
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
# 将依赖安装到 Python 的 prefix 下
|
# 将依赖安装到 Python 的 prefix 下
|
||||||
@@ -114,14 +114,14 @@ ENV PYTHONUNBUFFERED=1 \
|
|||||||
# VAR_PYTHON_PREFIX Python 前缀(必须与 builder 保持一致)
|
# VAR_PYTHON_PREFIX Python 前缀(必须与 builder 保持一致)
|
||||||
# VAR_PROFILES 配置 profile(dev / prod)
|
# VAR_PROFILES 配置 profile(dev / prod)
|
||||||
# VAR_PORT 应用监听端口
|
# VAR_PORT 应用监听端口
|
||||||
# VAR_PYFILE 启动入口文件名(不含 .py)
|
# VAR_JARFILE 启动入口文件名(不含 .py)
|
||||||
# VAR_PYFILE_PATH 项目源码目录
|
# VAR_JARFILE_PATH 项目源码目录
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
ARG VAR_PYTHON_PREFIX=/usr/local/python3.12.8
|
ARG VAR_PYTHON_PREFIX=/usr/local/python3.12.8
|
||||||
ARG VAR_PROFILES
|
ARG VAR_PROFILES
|
||||||
ARG VAR_PORT
|
ARG VAR_PORT
|
||||||
ARG VAR_PYFILE
|
ARG VAR_JARFILE
|
||||||
ARG VAR_PYFILE_PATH
|
ARG VAR_JARFILE_PATH
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
# 将 ARG 转成 ENV,运行期可通过环境变量读取
|
# 将 ARG 转成 ENV,运行期可通过环境变量读取
|
||||||
@@ -130,7 +130,7 @@ ARG VAR_PYFILE_PATH
|
|||||||
# PROFILES 应用读取的 profile
|
# PROFILES 应用读取的 profile
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
ENV PORT=${VAR_PORT} \
|
ENV PORT=${VAR_PORT} \
|
||||||
PYFILE=${VAR_PYFILE} \
|
PYFILE=${VAR_JARFILE} \
|
||||||
PROFILES=${VAR_PROFILES}
|
PROFILES=${VAR_PROFILES}
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
@@ -162,7 +162,7 @@ WORKDIR /opt/apps
|
|||||||
# 拷贝项目源码
|
# 拷贝项目源码
|
||||||
# 建议配合 .dockerignore 排除 .git、__pycache__、本地虚拟环境等
|
# 建议配合 .dockerignore 排除 .git、__pycache__、本地虚拟环境等
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
COPY ${VAR_PYFILE_PATH}/ ./
|
COPY ${VAR_JARFILE_PATH}/ ./
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
# 一次性修正属主:
|
# 一次性修正属主:
|
||||||
|
|||||||
Reference in New Issue
Block a user