You are on page 1of 7

Міністерство освіти і науки України

Національний технічний університет України


«Київський політехнічний інститут імені Ігоря Сікорського»

Навчально-науковий інститут атомної та теплової енергетики

Кафедра цифрових технологій в енергетиці

Лабораторна робота №9.2 з дисципліни «Операційна система UNIX»


Створення проекту, що складається з контейтерів Django+PostgreSQL, з
використанням Docker Compose та Dockerfile

Виконав:
студент 2-го курсу
групи ТР-11
Власенко Максим

Перевірила:
д.т.н.проф.Левченко Л.О.

КИЇВ 2022
Мета роботи – ознайомитися та набути навичок
- написання скрипта Dockerfile для створення контейнеру;
- встановлення Docker Compose в Ubuntu 18.04;
- створення контейнерів: Django+PostgreSQL для розроблення додатку.

Короткі теоретичні відомості:


Dockerfile - скрипт, який дозволяє автоматизувати процес побудови
контейнерів шляхом виконання відповідних команд (дій) в base образі для
формування нового образу.
Усі подібні файли починаються з позначення FROM так як і процес
побудови нового контейнера, далі йдуть різні методи, команди, аргументи або
умови, після застосування яких створиться Docker контейнер.
Розглянемо синтаксис Dockerfile.В Докер файлах міститься два типи
основних блоків - коментарі та команди з аргументами.Причому для всіх команд
передбачається певний порядок.
Нижче наведено типовий приклад синтаксису, де перший рядок є
коментарем, а другий - командою.
Print «Hello from User!»
RUN echo «Hello from User!!»

Усі команди в Докерфайлах прийнято вказувати великими літерами -


наприклад RUN, CMD і т.д.
- Команда ADD - бере два аргументи, шлях звідки скопіювати файл і шлях
куди скопіювати файли у власну файлову систему контейнера. Якщо ж source
шляхом є URL (тобто адреса веб-сторінки) - то вся сторінка буде скачана і поміщена
в контейнер.
Синтаксис команди: ADD [вихідний шлях або URL] [шлях призначення]
ADD /my_ friend_app /my_ friend_app
- Команда CMD, схожа на команду RUN, використовується для виконання
певних програм, але, на відміну від RUN дана команда зазвичай застосовується для
запуску/ініціації додатків або команд вже після їх установки за допомогою RUN в
момент побудови контейнера.
Синтаксис команди: CMD %додаток% «аргумент», «аргумент», .. CMD
«echo» «Hello from User!»
- Команда ENV використовується для установки змінних середовища (однієї
або багатьох). Дані змінні виглядають наступним чином «ключ = значення» і вони
доступні всередині контейнера скриптів і різних додатків. Даний функціонал
Докера, по суті, дуже сильно збільшує гнучкість щодо різних сценаріїв запуску
додатків.
Синтаксис команди: ENV %ключ% %значення%
Завдання:
Створити два контейнери для розроблення web-додатків:
- серверного веб-фреймворка Django, написаного на Python.
- вільної об'єктно-реляційної системи управління базами даних PostgreSQL.

Виконання завдання:

Установка Docker Compose в Ubuntu 18.04:


Перевіряємо поточну версію, за необхідності оновимо її за допомогою
наступної команди (curl - утиліта доступу до сервісу)

Встановимо дозвіл (+х – виконання /rwx), тобто зробимо файл виконуваним:

Перевіримо результат установки, переглянувши версію

Запуск контейнера за допомогою Docker Compose


Створимо директорію для файлу YAML і перейдемо в неї:

Створимо в цій директорії файл YAML та помістимо у файл наступні дані

Переглянемо образи в нашій системі за допомогою команди docker images:


При першому запуску команди docker-compose up, якщо локальний образ з
ім'ям hello-world відсутній, Docker Compose буде завантажувати його з відкритого
сховища Docker Hub:

Відобразимо всі контейнери, а не тільки активні за допомогою docker ps -a

Створимо набори контейнерів для web-розробки через Docker Compose


Створимо порожній каталог для проекту.

Створимо новий файл Dockerfile у проекті та додамо наступний вміст.


Створимо файл вимог requirements.txt у каталозі проекту та додамо
необхідне програмне забезпечення у файл.

Створимо файл docker-compose.yml у каталозі проекту та додамо наступну


конфігурацію.

Перейдемо до кореневого каталогу проекту та створимо проект Django,


виконуючи команду run для docker-compose наступним чином
Переглянемо файли в проекті на даний момент

Складемо список вмісту проекту.

Змінимо власника на нові файли за допомогою: sudo chown -R $USER:


$USER

Підключимо базу даних


Відредагуємо файл composeexample/settings.py у каталозі проектів та
замінимо DATABASES = ... на наступне:
Запустимо команду docker-compose up з каталогу верхнього рівня для
проекту.

На даний момент додаток Django працює в порту 8000 на хості Docker.


Перейдемо на веб-браузер http://localhost:8000, щоб побачити сторінку вітання
Django.

Висновок:
Під час виконання даної лабораторної роботи було набуто навичок
встановлення Docker Compose в Ubuntu 18.04 та створення двох контейнерів для
розроблення web-додатків: Django та PostgreSQL. Для виконання даної роботи
прийшлось встановити версію Ubuntu 18.04 замість 22.04 через некоректну роботу
програмного забезпечення.

You might also like