Перейти к содержимому

Docker desktop яндекс практикум как

  • автор:

Инженер данных: Обзор курса Яндекс Практикума (2024)

Обзор курса Инженер данных в Яндекс Практикуме: преимущества программы с трудоустройством, чему вы научитесь + бесплатное начало обучения (2024).

За 6,5 месяцев обучения на курсе Инженер данных в Яндекс Практикуме вы научитесь разрабатывать архитектуру данных. Курс для тех, у кого уже есть опыт в аналитике. Научитесь строить витрины и хранилища, проектировать пайплайны и готовить данные к машинному обучению. Карьерный центр Яндекс Практикума поможет вам найти работу. Первые пять часов обучения на курсе — бесплатно.

На курсы Яндекс Практикума нет скидок и промокодов, но зато обучение на курсе можно начать бесплатно, чтобы определиться покупать ли его.

Преимущества курса Инженер данных в Яндекс Практикуме

  • На курсы Яндекс Практикума нет скидок и промокодов, но зато обучение на курсе можно начать бесплатно, чтобы определиться покупать ли его.
  • Освоите проектирование пайплайнов.
  • Узнаете, как создавать витрины и хранилища.
  • Будете учиться на практике вместе с опытной командой.
  • Научитесь обрабатывать данные разными инструментами.
  • Сделаете и добавите в портфолио 9 проектов.
  • Получите помощь в поиске работы после курса.
  • Вас поддержат на всех этапах учёбы.
  • Возврат денег за оставшиеся дни обучения, если передумаете обучаться.
  • Курс можно оплатить в рассрочку от Яндекс Практикума.

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

(Final) Foodgram — дипломный проект. Python-разработчик (бекенд) (Яндекс.Практикум)

themasterid/foodgram-project-react

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Продуктовый помощник Foodgram — дипломный проект студента 21 когорты Яндекс.Практикум 2021-2022 гг. Клепикова Д.

После запуска проекта, он будет доступен по адресу http://127.0.0.1 (если развернут на локальной машине в докере) Как запустить и посмотреть в действии описано ниже.

Описание проекта Foodgram

«Продуктовый помощник»: приложение, на котором пользователи публикуют рецепты кулинарных изделий, подписываться на публикации других авторов и добавлять рецепты в свое избранное. Сервис «Список покупок» позволит пользователю создавать список продуктов, которые нужно купить для приготовления выбранных блюд согласно рецепта/ов.

Запуск с использованием CI/CD и Docker

# В Settings - Secrets and variables создаем переменный с вашими данными # Это необходимо для работы с CI/CD, DockerHub, GitHub ALLOWED_HOSTS DB_ENGINE DB_HOST DB_PORT HOST MY_LOGIN MY_PASS PASSPHRASE POSTGRES_DB POSTGRES_PASSWORD POSTGRES_USER SECRET_KEY SSH_KEY USER

Все действия мы будем выполнять в Docker, docker-compose как на локальной машине так и на сервере ВМ Yandex.Cloud. Предварительно установим на ВМ в облаке необходимые компоненты для работы:

# username - ваш логин, ip - ip ВМ под управлением Linux Дистрибутива с пакетной базой deb. ssh username@ip
sudo apt update && sudo apt upgrade -y && sudo apt install curl -y
sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo rm get-docker.sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo systemctl start docker.service && sudo systemctl enable docker.service

Всё, что нам нужно, установлено, далее, создаем папку /infra в домашней директории /home/username/:

mkdir infra

Предварительно из папки /backend и /frontend загрузим актуальные данные на DockerHub (на вашем ПК) (themasterid — ваш логин на DH):

docker login -u themasterid
cd backend
docker build -t themasterid/foodgram_backend:latest .
docker push themasterid/foodgram_backend:latest
cd frontend

Готовим фронт для приложения, это заготовка для отправки на DH (где themasterid ваш логин на DH):

docker build -t themasterid/foodgram_frontend:latest .

Отправляем на DG:

docker push themasterid/foodgram_frontend:latest

Перенести файлы docker-compose.yml и default.conf на сервер, из папки infra в текущем репозитории (на вашем ПК).

cd infra
scp docker-compose.yml username@server_ip:/home/username/
scp default.conf username@server_ip:/home/username/

Так же, создаем файл .env в директории infra на ВМ:

touch .env

Заполнить в настройках репозитория секреты .env, необходимы для работы postgres в docker

DB_ENGINE='django.db.backends.postgresql' POSTGRES_DB='foodgram' # Задаем имя для БД. POSTGRES_USER='foodgram_u' # Задаем пользователя для БД. POSTGRES_PASSWORD='foodgram_u_pass' # Задаем пароль для БД. DB_HOST='db' DB_PORT='5432' SECRET_KEY='secret' # Задаем секрет. ALLOWED_HOSTS='127.0.0.1, backend' # Вставляем свой IP сервера. DEBUG = False

На этом настройка закончена, далее в папке infra выполняем команду:

docker-compose up -d --build

Проект запустится на ВМ и будет доступен по указанному вами адресу либо IP. Завершение настройки на ВМ:

В папке infra выполняем команду, что бы собрать контейнеры:

docker-compose stop

Удалить вместе с volumes:

# Все данные удалятся! docker-compose down -v

Для доступа к контейнеру backend и сборки финальной части выполняем следующие команды:

docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate --noinput
docker-compose exec backend python manage.py createsuperuser
docker-compose exec backend python manage.py collectstatic --no-input

Дополнительно можно наполнить DB ингредиентами и тэгами:

docker-compose exec backend python manage.py load_tags
docker-compose exec backend python manage.py load_ingrs

На этом всё, продуктовый помощник запущен, можно наполнять его рецептами и делится с друзьями!

Запуск проекта в Docker на локальной машине.

Для Linux ставим Docker как описано выше, для Windows устанавливаем актуальный Docker Desktop.

Перейти в папку infra и выполнить сборку контейнеров:

docker-compose up -d --build

Для формирования базы из миграций, финальной настройки и заполнении базы тегами и ингридиентами, а так же подтянуть статику, и создаем суперюзера:

docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate
docker-compose exec backend python manage.py createsuperuser
docker-compose exec backend python manage.py collectstatic --no-input

Дополнительно можно наполнить DB ингредиентами и тэгами:

docker-compose exec backend python manage.py load_tags
docker-compose exec backend python manage.py load_ingrs

В зависимости от настроек либо используем стандартную базу либо создаем базу и пользователя в Postgres (если будет необходимость запустить без Docker):

sudo -u postgres psql
CREATE DATABASE basename;
CREATE USER username WITH ENCRYPTED PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE basename TO username;

Документация к API доступна после запуска

http://127.0.0.1/api/docs/

Курсы Docker в Яндекс Практикум

© 2009– 2024 , ООО «Сравни.ру». При использовании материалов гиперссылка на sravni.ru обязательна. ИНН 7710718303, ОГРН 1087746642774. 109544, г. Москва, бульвар Энтузиастов, дом 2, 26 этаж.

ООО «Сравни.ру» осуществляет деятельность в сфере IT: сервис предоставляет онлайн — услуги по подбору финансовых продуктов, а также распространению рекламы организаций — партнеров в сети Интернет

Мы используем файлы cookie для того, чтобы предоставить пользователям больше возможностей при посещении сайта sravni.ru. Подробнее об условиях использования.

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Sprint 17 Yandex Practicum (project) Django API / дипломный проект / djoser / python->pdf

LariosDeen/foodgram-project-react

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Дипломный проект курса «Бэкенд Разработчик» (Яндекс Практикум)

Онлайн-сервис и API для него. На этом сервисе пользователи могут публиковать рецепты, подписываться на публикации других пользователей, добавлять понравившиеся рецепты в список «Избранное», а перед походом в магазин скачивать сводный список продуктов, необходимых для приготовления одного или нескольких выбранных блюд.

Запуск проекта на Docker Desktop

Скопируйте проект на свой компьютер:

git clone https://github.com/LariosDeen/foodgram-project-react 

Cоздайте и активируйте виртуальное окружение для этого проекта:

python3 -m venv env 
source env/bin/activate 

Установите зависимости из файла requirements.txt:

python3 -m pip install --upgrade pip 
pip install -r requirements.txt 

Перейдите в директорию проекта:

cd backend 

Создайте файл .env в директории backend и заполните его данными по этому образцу:

SECRET_KEY='django-insecure-nsxoy+s&z^f(2$vot&-m!3+uacrm1jikv6!mb+ut&*thlrn=m7' DB_ENGINE=django.db.backends.postgresql POSTGRES_DB=postgres POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres DB_HOST=db DB_PORT=5432 DEBUG=False 

Создайте образ backend (текущая директория должна быть backend):

docker build -t dimlar/foodgram_backend:latest . 

Перейдите в директорию infra:

cd ../infra 
docker-compose up 

Выполните миграции в контейнере созданном из образа backend:

docker-compose exec -T backend python manage.py migrate 

Загрузите статические файлы в контейнере созданном из образа backend:

docker-compose exec -T backend python manage.py collectstatic --no-input 

Запустите проект в браузере. Введите в адресную строку браузера:

localhost 

В проекте использованы технологии:

  • Python
  • React
  • Django
  • Django REST Framework
  • Linux
  • Docker
  • Docker-compose
  • Postgres
  • Gunicorn
  • Nginx
  • Workflow

Проект выполнил студент 31 когорты Яндекс Практикума
Лариос Димитри
https://github.com/LariosDeen
https://t.me/dimilari

About

Sprint 17 Yandex Practicum (project) Django API / дипломный проект / djoser / python->pdf

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *