Форум программистов, компьютерный форум, киберфорум
Docker, Kubernetes
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Tryd0g0lik
56 / 3 / 1
Регистрация: 04.05.2012
Сообщений: 241

Docker Почему "No module named 'project'?"

09.08.2024, 02:25. Показов 2644. Ответов 20

Студворк — интернет-сервис помощи студентам
День добрый!


Задача.
Решил на одном IP развернуть два проекта.
Каждый из них имеет независимый CMS Django.
Общая база данных.
Работа с Nginx под разными портами.
  • При 'docker-compose up -d' база данных и nginx работает, проекты упавшие судя по результату команды 'docker ps'.
  • Судя по логам, оба проекта имеют:
  • общее - "ModuleNotFoundError: No module named 'project'"
  • один из них - " django.db.migrations.exceptions.Inconsis tentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'."
На эти две ошибки не могу ответить и гугл тоже.
Может загляните в настройки ниже.
Docker-compose
Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
version: "3.3"
services:
  db:
    container_name: sagirov_postgres
    image: postgres:15
    volumes:
      - db_data:/var/lib/postgresql/data
    env_file: .env
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "${POSTGRES_USER} -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5 # That is  five restarts
    ports:
      - "5432:5432"
  web1:
    container_name: sagirov_django
    # image: first_image:latest
    build:
      dockerfile: Dockerfile
      context: sagirov
    volumes:
      - db_data:/www/backup/data/sagirov
      - .:/www
      - static_volume:/www/spacex/static/
    working_dir: /www
    command:
      - bash
      - -c
      - |
        python3 sagirov/manage.py collectstatic --noinput --clear
        python3 sagirov/manage.py makemigrations
        python3 sagirov/manage.py migrate
        gunicorn -b 0.0.0.0:8001 project.wsgi:application
    ports:
      - "8001:8001"
    depends_on:
      - db
  web2:
    container_name: account_django
    # image: first_image:latest
    build:
      dockerfile: Dockerfile
      context: app_account
    volumes:
      - db_data2:/www/backup/data/account
      - .:/www
      - static_volume2:/www/account/static/
    working_dir: /www
    command:
      - bash
      - -c
      - |
        python3 app_account/manage.py collectstatic --noinput --clear
        python3 app_account/manage.py makemigrations
        python3 app_account/manage.py migrate
        gunicorn -b 0.0.0.0:8002 project.wsgi:application
    ports:
      - "8002:8002"
    depends_on:
      - db
      - web1
  nginx:
    container_name: app_nginx
 
    build:
      context: ./docker/nginx
        build:
      context: ./docker/nginx
      dockerfile: Dockerfile
    working_dir: /etc/nginx/
    depends_on:
      - web1
      - web2
    volumes:
      - db_data:/www/spacex/buckup
      - static_volume:/www/spacex/static/
      - db_data2:/www/account/buckup
      - static_volume2:/www/account/static/
    restart: on-failure
    ports:
      - '80:80'
 
volumes:
  db_data:
    external: true
  static_volume:
    external: true
  db_data2:
    external: true
  static_volume2:
    external: true


project1/Dockerfile с одной ошибкой
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RUN apt update && apt install -y python3-venv
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV DJ_SECRET_KEY2= <DJANGO-sekret-key>
ENV DJANGO_SETTINGS_MODULE=project.settings
ENV POSTGRES_DB= < dadabese-name>
ENV POSTGRES_USER= <login-name >
ENV POSTGRES_PASSWORD=< password >
ENV POSTGRES_HOST=db
ENV POSTGRES_PORT=5432
ENV NGINX_EXTERNAL_PORT=80
ENV VERSION= <number>
RUN python3 -m venv /opt/venv && mkdir -p /www && mkdir -p /www/account && \
    mkdir -p /www/account/backend && mkdir -p /www/account && \
    mkdir -p /www/account/contribute && mkdir -p /www/account/contribute/vews && \
    mkdir -p /www/account/contribute/vews_changes_profile && \
    mkdir -p /www/account/contribute/vews_new_users && mkdir -p /www/migrations && \
    mkdir -p /www/routers && mkdir -p /www/account && mkdir -p /www/account/static && \
    mkdir -p /www/account/static/account && \
    mkdir -p /www/account/static/account/css && \
    mkdir -p /www/account/static/account/javascripts && \
    mkdir -p /www/account/templates && mkdir -p /www/account/templates/email && \
    mkdir -p /www/account/templates/layout && \
    mkdir -p /www/account/templates/users && mkdir -p /www/project
 
WORKDIR /www
COPY requirements.txt .
RUN pip install --upgrade pip && pip install -r requirements.txt
RUN pip install gunicorn
COPY . .
CMD ["gunicorn", "-b", "0.0.0.0:8002", "projects.wsgi:application"]


project2/Dockerfile с 2-мя ошибками
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
FROM python:3
RUN apt update && apt install -y python3-venv
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV DJ_SECRET_KEY= <DJANGO-sekret-key>
ENV DJANGO_SETTINGS_MODULE=project.settings
ENV POSTGRES_DB= < dadabese-name>
ENV POSTGRES_USER= <login-name >
ENV POSTGRES_PASSWORD=< password >
ENV POSTGRES_HOST=db
ENV POSTGRES_PORT=5432
ENV NGINX_EXTERNAL_PORT=80
ENV VERSION= <number>
RUN apt update && apt install -y git
RUN python3 -m venv /opt/venv && mkdir -p /www && \
    mkdir -p /www/backup && mkdir -p /www/backup/data && \
    mkdir -p /www/spacex && mkdir -p /www/spacex/static && \
    mkdir -p /www/spacex/migrations && \
    mkdir -p /www/spacex/templates && \
    mkdir -p /www/project
WORKDIR /www
COPY *.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
RUN pip install gunicorn
COPY . .
 
CMD ["gunicorn", "-b", "0.0.0.0:8001", "project.wsgi:application"]


Nginx
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
upstream web1 {
        server web1:8001;
}
upstream web2 {
        server web2:8002;
}
 
http {
        server {
                listen 80
                location / {
                        include /etc/nginx/conf.d/proxy_params;
                        proxy_pass http://web1;
                }
 
                location /login/ {
                        include /etc/nginx/conf.d/proxy_params;
                        proxy_pass http://web2;
                }
 
                location /(account|spacex)/static/ {
                        proxy_pass (app_account|sagirov)/(account|spacex)/static/;
                }
        }
}
Dockerfile (nginx)
Code
1
2
3
4
5
6
FROM nginx:latest
RUN rm /etc/nginx/conf.d/default.conf
RUN mkdir /etc/spacex && mkdir /etc/spacex/static && \
mkdir /etc/spacex/buckup && mkdir /etc/spacex/template
COPY nginx.conf /etc/nginx/conf.d
COPY proxy_params /etc/nginx/conf.d/proxy_params
Образ дерева.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root
  |Docker-compose.yml
  | docker
  |    |*|nginx.conf
  |    |*|Dockerfile
  |    |*|proxy_params
  |project1
  |    |Dockerfile
  |    |project
  |project2
  |    |Dockerfile
  |    |project
  |
  |
  |
В project-ях имеется __init__.py
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.08.2024, 02:25
Ответы с готовыми решениями:

В чем ошибка? выводит No module named 'project'
Помогите плиз при попытке открытия ссылки из index.html выводит no module named 'project' и ссылается на строку&lt;form action=&quot;{%...

Ошибка: Module 'RecFrm' links to module 'Main' which cannot be found in the current project
Есть три формы Main, Rec и RecFrm. Main является главной формой. В Rec uses Main; RecFrm в свою очередь TRecFrm = class(TRec); и ...

PyQt5 Error while finding module specification for 'PyQt5.uic.pyuic' (ModuleNotFoundError: No module named 'PyQt
В общем поставил pyqt5 и python3.7 пишу в консоль python -m PyQt5.uic.pyuic Выдает ошибку Error while finding module specification for...

20
 Аватар для Tryd0g0lik
56 / 3 / 1
Регистрация: 04.05.2012
Сообщений: 241
12.08.2024, 10:49  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
раз такая настройка используется в compose
Когда начинаешь понимать ,что как работает, тогда может быть очевидно. А когда с нуля, это просто набор символов. ))
Цитата Сообщение от Usaga Посмотреть сообщение
А поверх этого ещё и дополнительных знаний накинули сверху)
Да, спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.08.2024, 10:49

При запуске скрипта PyCharm выдаёт "No module named Module"
Здравствуйте, товарищи формучане! Вчера начал изучать великолепный язык под названием Python и столкнулся с одной странностью PyCharm: есть...

No module named
Всем привет! Только начал изучать Python как сразу столкнулся с проблемой. Через pip install vk_api установил соответствующий пакет. Зашёл...

No module named 'telepot'
Установил модуль telepot : sudo pip install telepot sudo pip install telepot --upgrade Написал программу, в первой строке...

ImportError: No module named 'six'
Добрый день. Изучаю новую библиотеку питона Matplotlib. Во время компиляции кода from pylab import * plot(range(1, 20), ,...

No module named 'bootstrap4'
пытаюсь освоить Django (по Эрику Мэтизу). Нужно использовать bootstrap. Из виртуальной среды пишу (ll_env)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru