我在我的项目中使用docker。最初,Pipfile中包含以下包
[packages]
django = "*"
djangorestframework = "*"
celery = "*"
whitenoise = "*"
redis = "*"
django-celery-beat = "*"
flower = "*"
django-environ = "*"
django-redis = "*"
"flake8" = "*"
coverage = "*"
gunicorn = "*"
sentry-sdk = "*"
django-storages = {extras = ["boto3"], version = "*"}
django-anymail = {extras = ["mailgun"], version = "*"}
pillow = "*"
"psycopg2-binary" = "*"
django-money = "*"
django-phonenumber-field = "*"
phonenumbers = "*"
"argon2-cffi" = "*"
jsonfield = "*"
future = "*"
django-contrib-comments = "*"
tzlocal = "*"
[dev-packages]
werkzeug = "*"
"autopep8" = "*"
"flake8" = "*"然后我构建了我的项目,它工作得很好。但在构建映像后不久,我使用以下命令在本地环境中安装了以下包
pipenv install pylint-django pylint-celery django-debug-toolbar django-extensions --dev现在我已经更新了我的软件包列表,我尝试使用docker-compose -f local.yml build重建镜像,我猜它没有安装这些软件包,所以我得到了问题` `ModuleNotFoundError:没有名为'debug_toolbar‘的模块。
下面是我的docker配置
FROM python:3.6-alpine
ENV PYTHONUNBUFFERED 1
RUN apk update \
# psycopg2 dependencies
&& apk add --virtual build-deps gcc python3-dev musl-dev \
&& apk add postgresql-dev \
# Pillow dependencies
&& apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
# CFFI dependencies
&& apk add libffi-dev py-cffi \
# Translations dependencies
&& apk add gettext \
# https://docs.djangoproject.com/en/dev/ref/django-admin/#dbshell
&& apk add postgresql-client
RUN pip3 install -U pip pipenv
COPY Pipfile* /app/
WORKDIR /app
RUN pipenv install --deploy --system --ignore-pipfile
COPY ./compose/production/django/entrypoint /entrypoint
RUN sed -i 's/\r$//g' /entrypoint
RUN chmod +x /entrypoint
COPY ./compose/local/django/start /start
RUN sed -i 's/\r$//g' /start
RUN chmod +x /start
COPY ./compose/local/django/celery/worker/start /start-celeryworker
RUN sed -i 's/\r$//g' /start-celeryworker
RUN chmod +x /start-celeryworker
COPY ./compose/local/django/celery/beat/start /start-celerybeat
RUN sed -i 's/\r$//g' /start-celerybeat
RUN chmod +x /start-celerybeat
COPY ./compose/local/django/celery/flower/start /start-flower
RUN sed -i 's/\r$//g' /start-flower
RUN chmod +x /start-flower
WORKDIR /app
ENTRYPOINT ["/entrypoint"]为什么在构建镜像后不安装Pipfile中的新包?
发布于 2021-10-08 14:31:19
我也在这上面撞到了头。事实证明这是缓存问题。
为了解决这个问题,我运行了以下命令,但是
docker system prune -ahttps://stackoverflow.com/questions/57949922
复制相似问题