main.py
це файл, який є точкою входу для вашого проекту. Це означає, що коли ви запускаєте ваш проект, інтерпретатор Python починає виконувати код цього файлу. Це може бути корисним, тому що вам не потрібно запускати кожен файл окремо, а можете використовувати одну точку входу для запуску всієї програми.
Щоб об'єднати файли в проекті, можна імпортувати функції або класи з інших файлів у main.py
. Це може виглядати так:
from my_module import my_function
def main():
my_function()
if __name__ == "__main__":
main()
У цьому прикладі ми імпортуємо функцію my_function
з файлу my_module.py
і викликаємо її в функції main()
. Потім ми перевіряємо, чи запущено цей файл як основний скрипт, і якщо так, ми запускаємо функцію main()
. Це дозволяє використовувати цей файл як модуль інших скриптів, не запускаючи функцію main()
, якщо він імпортований як модуль.
Ви також можете використовувати main.py
для об'єднання та організації вашого коду, наприклад, імпортуючи різні класи та функції з різних файлів та використовуючи їх для створення програмного інтерфейсу або для запуску різних функцій у певному порядку. Це може допомогти вам зберегти ваш код у порядку і легко знайти потрібний код у майбутньому.
Допустимо, у вас є простий проект, який складається з трьох файлів: main.py
, data.py
та processing.py
.
data.py
містить функцію для завантаження та обробки даних, processing.py
містить функцію для аналізу даних, а main.py
служить як точка входу для проекту.
У файлі main.py
ви можете імпортувати функції з data.py
та processing.py
та використовувати їх для обробки даних та аналізу:
from data import load_data
from processing import analyze_data
def main():
data = load_data()
analyze_data(data)
if __name__ == "__main__":
main()
У цьому прикладі функція load_data
з data.py
використовується для завантаження та обробки даних, а функція analyze_data
з processing.py
використовується для аналізу даних. Потім функція main
викликається для запуску проекту.
Це простий приклад, але він демонструє, як ви можете використовувати main.py
для об'єднання різних функцій та модулів в одному місці та організації вашого коду. Ви можете додавати додаткові функції та модулі до вашого проекту і використовувати main.py для об'єднання їх всього в одному місці. Це допоможе вам зберегти ваш код у порядку і легко знайти потрібний код у майбутньому.
Коротше, коли створюєш код, думай як через main.py
ти шукатимеш свої файли в
проекті, переходячи по ним як по сторінкам веб-сайту.
По-перше, вам потрібно встановити Docker на вашій машині. Ви можете завантажити його з офіційного веб-сайту, якщо ви цього ще не зробили.
Щоб запустити контейнер за базою MongoDB, ви можете використати команду docker run
.
Наприклад:
docker run -d -p 27017:27017 --name my-mongo mongo
Ця команда запустить новий контейнер у відокремленому режимі демона -d
і зіставить порт 27017
локальної машини (хоста) з портом 27017
контейнера -p 27017:27017
. Прапорець --name
призначає назву контейнеру, а mongo
— це ім’я зображення з Docker Hub.
https://hub.docker.com/_/mongo
Щоб отримати доступ до контейнеру MongoDB, ви можете скористатися командою docker exec
.
Наприклад:
docker exec -it my-mongo /bin/sh
Ця команда відкриє термінал sh
всередині контейнера під назвою my-mongo
.
Щоб зберегти дані, можна використовувати томи.
docker run -d -p 27017:27017 -v d/data/db:/data/db --name my-mongo mongo
Ця команда відобразить каталог d/data/db
локальної машини в каталог /data/db
контейнера, де MongoDB зберігає свої дані.
Після запуску контейнера ви можете використовувати оболонку MongoDB Compass для підключення до екземпляра MongoDB і створення та керування базами даних.
Щоб запустити контейнер, можна використовувати команду docker start
з ім'ям або унікальним ідентифікатором контейнера.
Наприклад:
docker start my-mongo
Щоб зупинити контейнер, можна використовувати команду docker stop
з ім'ям або унікальним ідентифікатором контейнера. Наприклад:
docker stop my-mongo
Ви можете використовувати команду docker ps
, щоб переглянути запущені контейнери та їх статус. І команду docker ps -a
щоб переглянути всі контейнери, запущені та зупинені.
Застосунок.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return """
<h1>Hello World!</h1>
<p style="color:crimson">Group web <b>10</b></p>
"""
if __name__ == '__main__':
app.run(host='0.0.0.0')
Неважливе пояснення, що робить цей код:
Цей код створює простий
Flask
додаток з єдиним маршрутом, який повертає рядок коли до нього звертаються на адресу 'http://localhost:5000/'. У рядкуapp = Flask(__name__)
створюється екземплярFlask
класу і надається змінноїapp
. Декоратор@app.route('/')
створює маршрут кореневої адреси'/'
, який буде пов'язаний з функцієюhello()
. Функціяhello()
повертає рядок. Якщо ім'я скрипта дорівнюєmain
, програма запускається з налаштуваннямhost='0.0.0.0'
, що означає, що програма буде доступна для доступу з будь-якої адреси.
Dockerfile
FROM python:3.10
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["python", "main.py"]
код використовується для створення образу Docker.
FROM python:3.10
вказує, що образ буде заснований на офіційному образі Python 3.10.WORKDIR /app
встановлює поточний робочий каталог/app
.COPY . .
копіює всі файли з поточного каталогу на локальній машині до поточного робочого каталогу всередині контейнера.RUN pip install -r requirements.txt
встановлює всі залежності, вказані у файліrequirements.txt
у контейнер.EXPOSE 5000
вказує, що контейнер прослуховуватиме порт5000
.ENTRYPOINT ["python", "main.py"]
вказує, що команда pythonmain.py
буде запущена під час запуску контейнера. Це запускає вашу програму на сервері.
Щоб тепер створити образ Docker за допомогою файлу Dockerfile
, ви можете використовувати команду docker build
. Команда має такий формат:
docker build [path_to_dockerfile] -t [image_name]:[tag]
-t
вказує ім'я та тег для нового образу.
[path_to_dockerfile]
вказує місце, де знаходиться файл Dockerfile
.
Приклад:
docker build . -t myapp:latest
Ця команда створить образ з ім'ям myapp
та тегом latest
на основі файлу Dockerfile
у поточній директорії.
Після створення образу ви можете запустити контейнер за допомогою команди docker run
docker run -p 80:5000 myapp
Ця команда запустить контейнер з ім'ям myapp
, прив'язавши порт 5000
внутрішнього контейнера до порту 80
на машині.
Тепер посилання на додаток http://localhost/