чорнетка докер
Last updated
Last updated
спочатку потрібно встановити докер на комп і залогінитись:
---
Офіційні образи докерхаб із нодою. різних версій
Краще всього встановлювати версії alpine
папку нод модулів навіть не обовʼязково встановлювати. можна видалити папку
зайемо в папек frontend і ініціаліщуємо проект
встановимо лайв сервер
і пропишемо в пекедж джсон наш скрипт
тепер видалимо папку нод модулів. і створимо файл Dockerfile
Тепер підйом цього проєкту будемо робити в цьому файлі
У першому рядку ми вказуємо яка версія образа докера буде вантажитися з серврера докера
копі вказує що і куди копібємо через пробіл. тобто все з папки нашого проекту в образ докера
далі вказується, зо потрібно проінсталювати пакети
і запустити скрипт з командного рядка
Розберемо команди докера.
image - це шаблон. а вже з нього ми можемо запускати контейнери
Команди докера:
переглянути образи, які є в системі:
видалити образ
Щоб створити контейнер, то пишемо таку команду в терміналі у папці проекту
Якщо вказати ключ і назву то надастся назва репозиторію frontend
Тобто таким чином ми створили шаблон. а тепер можна створити контейнер
після цього в консолі повернеться айдішник:
Щоб перевірити які контейнери запущені
а щоб побачити навіть незапущені контейнери треба додати клоюч
або
Запустити контейнер можна командою (де 03f - початок айдішники нашого контейнера)
тепер запуск команди docker ps вкаже, що контейнер запущено
Щоб зупинити роботу конейнера є дві команди (stop - охайно зупиняє процес, kill - просто рубить процес)
видалити контейнер можна за допомогою команди rm
команда run одразу і створює контейнер і його запускає і в цій команді також можна прописати порти на яких проект буде спілкуватися з зовнішнім світом (перший порт той, до якого будемо звертатися, а другий порт - той що всередині контейнера)
або
І тепер якщо в браузері відкрити це посилання, то нам відкриється фронтенд
а якшо в терміналі ввести docker ps, т покажеться розширена інформація про контейнер (він запущений) його можна kill.
І щнову запустити docker start 52a і перевілити docker ps
також можна зайти в середину нашого контейнера І запустити якусь команду з термінала. Наприклад можемо зайти в командний рядок такою командою. Де it - значить інтерактинве, exec - екзекютів а sh - запуск командного рядка
після цього ми потрапимо в уніксівський термінал і наприклад командою ls можемо передивитися вміст кореневого каталогу проекту (контейнера). Але зазвичай проект ставлять не в корінь, а в папку home наприклад, щоб не будо конфліктів з назвами.
Як цього уникнути розглянемо у побудові докера для бекенду
ПРОПИШЕМО ДОКЕР ФАЙЛИ ДЛЯ БЕКЕНДУ
Створимо Dockerfile
Видаляємо папку node_modules
Щоб вказати конкретну роботу папку вкажемо параметр WORKDIR ітепер при вказанні копіювання буде копіюватися саме в неї. після установки пакетів знову копіюємо всі файли в робочу директорію і запускаємо скрипт.
Примітка файди .env також мають бути присутні у проекті тому зо вони теж скопіюються.
Після цього збирають проєкт такими ж командами як і для фронтенду
Бужуємо образ
тепер після встановлення образа ноди створимо і запустимо контейнер