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

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

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

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


Задача.
Решил на одном 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
2 / 2 / 1
Регистрация: 04.05.2012
Сообщений: 209
12.08.2024, 10:49  [ТС]
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от 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
Ответ Создать тему
Новые блоги и статьи
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel подробные расшифровки по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер