首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止collectstatic尝试访问数据库

防止collectstatic尝试访问数据库
EN

Stack Overflow用户
提问于 2019-11-27 16:29:28
回答 1查看 280关注 0票数 1

我有一个带有多阶段构建的Dockerfile,我正在尝试运行collectstatic来获取所有静态文件,并将它们复制到最终的docker映像中。此时,我没有要访问的数据库,但是当collectstatic尝试访问一个带有虚拟值的数据库时,我得到了一个错误。

在我看来,应该不需要使用collectstatic来访问数据库。我已经通读了一些与此相关的问题,我认为django的维护者不打算改变这一点。这就是为什么我需要知道是否有任何方法可以阻止对数据库的这种访问。

这就是我所拥有的:

代码语言:javascript
复制
ARG baseImage
FROM ${baseImage} AS base

USER root

ENV DB_HOST="example" \
    DB_NAME="example" \
    DB_USER="example" \
    DB_PASSWORD="example"

RUN python app/manage.py collectstatic --skip-checks --noinput --clear \
    && node_modules/.bin/gulp compile --destination "/tmp/staticcmp"


FROM nginx:1.11 AS cdn

COPY docker/cdn/etc/cdn-nginx.conf /etc/nginx/conf.d/default.template
COPY docker/cdn/robots.txt /usr/share/nginx/html/robots.txt
COPY docker/cdn/bin/ /usr/local/bin/
COPY --from=base /tmp/staticcmp/ /usr/share/nginx/html/static

ENV NGINX_ERROR_LOG="/dev/stdout" \
    NGINX_ACCESS_LOG="/dev/stdout"

EXPOSE 8000

ENTRYPOINT ["docker-cdn-entrypoint"]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-07 16:06:40

不幸的是,没有办法阻止collectstatic尝试访问数据库。在某些情况下使用虚拟数据库可以解决您的问题。如果这不起作用,你可能不得不自己实现它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59066010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档