Хост-машина: Windows 10
Я создал проект django, который использует базу данных sqlite.Я попытался поместить свое приложение django в контейнер, используя следующий файл dockerfile:
FROM python:3.5
#Enviromental variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
#Work Dir
ADD . /code
WORKDIR /code
# Install dependencies
RUN pip install -r requirements.txt
Файл Dockercompose:
version: '3.7'
services:
db:
image: postgres:11.1-alpine
volumes:
- pgdata:/var/lib/postgresql/data/
ports:
- 5432:5432
web:
build: .
command: python /code/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
volumes:
pgdata:
Теперь, когда я пытаюсь запустить код, он выдает мне эту ошибку:
Starting iomweb_db_1 ... done
Starting iomweb_web_1 ... done
Attaching to iomweb_db_1, iomweb_web_1
db_1 | 2018-12-31 20:26:15.535 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
db_1 | 2018-12-31 20:26:15.535 UTC [1] LOG: listening on IPv6 address "::", port 5432
db_1 | 2018-12-31 20:26:15.547 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.
5432"
db_1 | 2018-12-31 20:26:15.576 UTC [19] LOG: database system was interrupted; last known up at 2018
-12-31 19:58:19 UTC
db_1 | 2018-12-31 20:26:16.655 UTC [19] LOG: database system was not properly shut down; automatic
recovery in progress
db_1 | 2018-12-31 20:26:16.662 UTC [19] LOG: redo starts at 0/17ABE00
db_1 | 2018-12-31 20:26:16.662 UTC [19] LOG: invalid record length at 0/17ABE38: wanted 24, got 0
db_1 | 2018-12-31 20:26:16.662 UTC [19] LOG: redo done at 0/17ABE00
db_1 | 2018-12-31 20:26:16.716 UTC [1] LOG: database system is ready to accept connections
web_1 | /usr/local/lib/python3.5/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wh
eel package will be renamed from release 2.8; in order to keep installing from binary please use "pip
install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-
install-from-pypi>.
web_1 | """)
web_1 | /usr/local/lib/python3.5/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wh
eel package will be renamed from release 2.8; in order to keep installing from binary please use "pip
install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-
install-from-pypi>.
web_1 | """)
web_1 | Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f4e1a0
75268>
web_1 | Traceback (most recent call last):
web_1 | File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 225, in wrap
per
web_1 | fn(*args, **kwargs)
web_1 | File "/usr/local/lib/python3.5/site-packages/django/core/management/commands/runserver.py",
line 112, in inner_run
web_1 | autoreload.raise_last_exception()
web_1 | File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 248, in rais
e_last_exception
web_1 | raise _exception[1]
web_1 | File "/usr/local/lib/python3.5/site-packages/django/core/management/__init__.py", line 327,
in execute
web_1 | autoreload.check_errors(django.setup)()
web_1 | File "/usr/local/lib/python3.5/site-packages/django/utils/autoreload.py", line 225, in wrap
per
web_1 | fn(*args, **kwargs)
web_1 | File "/usr/local/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
web_1 | apps.populate(settings.INSTALLED_APPS)
web_1 | File "/usr/local/lib/python3.5/site-packages/django/apps/registry.py", line 112, in populat
e
web_1 | app_config.import_models()
web_1 | File "/usr/local/lib/python3.5/site-packages/django/apps/config.py", line 198, in import_mo
dels
web_1 | self.models_module = import_module(models_module_name)
web_1 | File "/usr/local/lib/python3.5/importlib/__init__.py", line 126, in import_module
web_1 | return _bootstrap._gcd_import(name[level:], package, level)
web_1 | File "<frozen importlib._bootstrap>", line 985, in _gcd_import
web_1 | File "<frozen importlib._bootstrap>", line 968, in _find_and_load
web_1 | File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked
web_1 | File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
web_1 | File "<frozen importlib._bootstrap_external>", line 697, in exec_module
web_1 | File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
web_1 | File "/usr/local/lib/python3.5/site-packages/registration/models.py", line 206, in <module>
web_1 | class RegistrationProfile(models.Model):
web_1 | File "/usr/local/lib/python3.5/site-packages/registration/models.py", line 222, in Registra
tionProfile
web_1 | user = models.OneToOneField(UserModelString(), verbose_name=_('user'))
Теперь я могу вручную решить эту проблему внутри контейнера под моделями;но я не уверен, откуда докер-контейнер получает эти модели.Я пытался изменить модели с python в системе, но все еще делал это.Я хотел бы исправить это, чтобы мне не приходилось исправлять это вручную каждый раз, когда я собираю этот контейнер.Я мог бы сделать коммит докера;но все же любая помощь, чтобы узнать, почему докер берет этот models.py от.