我是Docker的新手。我正在尝试将Django应用程序固定化。
我的项目包含一个Wagtail应用程序,我正在使用Wagtail自动生成的Dockerfile。
FROM python:3.8.6-slim-buster
RUN useradd wagtail
EXPOSE 8000
ENV PYTHONUNBUFFERED=1
PORT=8000
RUN apt-get update --yes --quiet && apt-get install --yes --quiet --no-install-recommends
build-essential
libpq-dev
libmariadbclient-dev
libjpeg62-turbo-dev
zlib1g-dev
libwebp-dev
nano
vim
&& rm -rf /var/lib/apt/lists/*
RUN pip install "gunicorn==20.0.4"
COPY requirements.txt /
RUN pip install -r /requirements.txt
WORKDIR /app
RUN chown wagtail:wagtail /app
COPY --chown=wagtail:wagtail . .
USER wagtail
RUN python manage.py collectstatic --noinput --clear
CMD set -xe; python manage.py migrate --noinput; gunicorn mysite.wsgi:application
它运行得很好,但我的sqlite数据库是空的,我想用我将在本地创建的wagtail页面来运行我的容器。
我该如何更改Dockerfile?
只需在Docker中转储和重新加载数据。
我发现在Docker容器中使用sqlite3非常糟糕。
我对Docker+PostGres解决方案比较满意:https://docs.docker.com/samples/django/