Cache mount ID is not prefixed with cache key
zanekwok
TRIALOP

a year ago

FROM phidata/python:3.12

添加Railway构建时变量支持

ARG RAILWAYENVIRONMENT ARG RAILWAYSERVICE_NAME

ARG USER=app
ARG APPDIR=/app ENV APPDIR=${APP_DIR}

创建用户和主目录

RUN groupadd -g 61000 ${USER} \
&& useradd -g 61000 -u 61000 -ms /bin/bash -d ${APP_DIR} ${USER}

WORKDIR ${APP_DIR}

复制requirements.txt

COPY requirements.txt ./

安装依赖,使用Railway支持的缓存格式

RUN --mount=type=cache,id=cache-s/${RAILWAYSERVICENAME}/root/cache/pip,target=/root/.cache/pip \
uv pip sync requirements.txt --system

复制项目文件

COPY . .

设置/app目录权限

RUN chown -R ${USER}:${USER} ${APP_DIR}

切换到非root用户

USER ${USER}

ENTRYPOINT ["/app/scripts/entrypoint.sh"]
CMD ["chill"]

View Deploy details

ⓘ Deployment information is only viewable by project members and Railway employees.

1 Replies

a year ago

You would need to hardcode the service Id.

https://docs.railway.app/guides/dockerfiles#cache-mounts


Loading...