Использование Divio с существующим образом Docker

  1. Создать новый проект
  2. Настройте свой проект

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

Этот урок предполагает практическое знание Git и знакомство со структурой проекта Django.

Создать новый проект

Первым шагом является создание нового проекта из панели управления Divio - я назвал мой «docker-tutorial».

Выберите следующие параметры при создании проекта, чтобы мы начали с минимального изображения контейнера.

Конфигурация: «Нет Python» Тип: «Пустой» Boilerplate: «Пустой Boilerplate»

Наконец, выберите свою конфигурацию подписки для проекта в зависимости от ваших потребностей. Бесплатный план - хороший выбор для знакомства с Divio и изучения платформы!

Настройте свой проект

Перейдите в каталог, куда должен быть установлен ваш проект Divio. Допустим, вы хотите настроить свой проект в / Development / docker-tutorial /

Перейдите в / Development и вызовите инструменты CLI (командной строки) Divio:

Руководство по настройке проекта Divio

Примечание: имя должно соответствовать тому, что вы решили назвать своим проектом на первом этапе.

Полученный результат будет выглядеть примерно так:

Создание клонирования репозитория проекта рабочей области. Клонирование в '/ Users / divio / Development / docker-tutorial' ... Блокировка веб-сайта ... remote: Подсчет объектов: 6, выполнено. Удаленный: Сжатие объектов: 100% (4/4), сделано. Удаленный: Всего 6 (дельта 0), повторно используется 0 (дельта 0) Прием объектов: 100% (6/6), сделано. Разблокировка веб-сайта ... Ошибка: не удалось найти допустимый файл 'docker-compose.yml'. Убедитесь, что этот проект был обновлен в облаке Divio для использования Базового проекта версии 3 или выше.

Обратите внимание на сообщение об ошибке - этого следует ожидать, так как мы не выбирали никаких шаблонов при создании проекта, поэтому нет настроенных служб и, следовательно, нет файла docker-compose. В настоящее время единственными файлами являются пустой Dockerfile и migrate.sh.

Перейдите в только что созданный проект. Полный текущий путь, в зависимости от вашего имени, должен выглядеть примерно так: / Users / divio / Development / docker-tutorial

Создайте файл docker-compose.yml - в этом руководстве мы не будем вдаваться в структуру файла docker-compose, так как он хорошо описан в официальном Докерская документация ,

Пример содержимого моего docker-compose.yml:

версия: сервисы '3': db: image: тома postgres: - ~ / .docker / postgresql.11: / var / lib / postgresql / data web: build:. порты: - "8888: 80" тома: - команда ".: / app": scripts / run_local.sh среда: - DJANGO_SETTINGS_MODULE = docker_tutorial.settings.local depen_on: - ссылки на db: - "db: postgres"

Обратите внимание, что ваше приложение должно быть определено как контейнер "web", а ваша база данных - "db". Так платформа Divio определяет ваши услуги.

DJANGO_SETTINGS_MODULE = docker_tutorial.settings.local должен быть настроен так, чтобы при необходимости отображать название вашего проекта.

Нам нужно добавить требование в Dockerfile. Вставьте следующее в Dockerfile:

ИЗ python: 3.7.0 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 WORKDIR / app COPY. / app RUN pip3 install -r needs.txt EXPOSE 8000 CMD /app/scripts/run_prod.sh RUN pip3 install начать

Обратите внимание, что файл require.txt будет тем, что вы используете в своем существующем проекте.

Вы можете задаться вопросом, что делает стартовый пакет - очень просто это пакет Divio для запуска одного процесса из Procfile. Вы можете изучить пакет более подробно на Github Сделки рЕПО ,

Примечание. Если в вашей среде не установлен pip3 или pip, установите его, используя:

RUN apt-get update && apt-get install -y python-pip

Создайте файл с именем Procfile в корневом каталоге вашего проекта со следующим содержимым:

migrate: эхо "Положите вещи миграции здесь"


Наконец, добавьте следующую строку к вашему .gitignore, чтобы предотвратить добавление файлов Divio в репозиторий проекта. Вам нужно будет создать этот файл, если он не существует.

.aldryn

На этом этапе вы можете протестировать свое приложение локально, запустив проект - добавьте любые файлы и настройте их соответствующим образом.

Теперь вам нужно зафиксировать и отправить файлы проекта. Это важный шаг, поскольку нам нужно будет извлечь файлы позже.

Git - это большая тема, которая выходит за рамки этого урока - краткий обзор вы найдете в Начало работы с Divio Сообщение блога.

Не забудьте добавить свои файлы перед совершением!

Когда наши файлы сохранены в безопасности, вернитесь на один каталог с помощью cd .. и снова выполните следующую команду. Теперь вы должны работать с каталогом / Development относительно этого урока.

Руководство по настройке проекта Divio

Обратите внимание, что когда мы выполним эту команду, файлы, которые мы зафиксировали и передали, будут снова загружены в новый проект.

Вы будете предупреждены, что каталог уже существует, и мы можем безопасно продолжить:

Путь / Users / docker-tutorial / workspace / docker-tutorial уже существует и не является пустым каталогом. Вы хотите удалить его и продолжить? [y / N]: y

Файлы проекта мы теперь будем извлекать, и наш новый проект будет создан.

Ваше рабочее пространство настроено и готово к запуску. Для настольного приложения: - нажмите кнопку «Пуск». Для терминала: - измените каталог на «/ Users / docker-tutorial / workspace / docker-tutorial» - запустите «divio project up»

Теперь у нас есть только что созданный проект Divio, который дополнит ваш существующий проект.

Отсюда вы можете перейти к развертыванию в тестовой или действующей среде и работать с платформой Divio обычным способом!

Вы хотите удалить его и продолжить?