Docker для полных новичков

preview_player
Показать описание
Этот ролик про Docker простыми словами.

СОДЕРЖАНИЕ:
00:00:00 Введение. План действий.
00:01:18 Что такое Docker, зачем нужен и чем отличается от виртуальной машины
00:05:05 Разбираем GUI Docker Desktop. Чем контейнер отличается от образа (image)? Что такое volume?
00:09:24 Настройки докера в GUI
00:10:25 Пробуем запустить первый контейнер из интерфейса. Наблюдаем за файловой системой контейнера.
00:14:01 Пробуем удалять контейнер
00:15:37 Пробуем запускать контейнер из консоли. CLI-команды docker: pull, image, run, ps, --detach (запуск в фоне).
00:19:31 Входим в контейнер из консоли - docker exec. Играемся с файловой системой из консоли.
00:22:50 Создаём Dockerfile и контейнеризуем простейшее NodeJS-приложение. Базовый образ, зависимости и их установка.
00:26:44 Команда docker build. Установка рабочей директории WORKDIR. Копирование файлов COPY. Запуск приложения через CMD. EXPOSE для расшаривания порта.
00:30:45 Тег образа при билде. Успешный запуск контейнера из Докерфайла.
00:31:57 Особенности работы с проектом, который находится под Git. Файл .dockerignore.
00:34:00 Кэширование шагов билда (build cache). Чистка кэша докера - docker build prune.
00:39:08 После билда нужно пересоздавать контейнер
00:40:18 Как менять код проекта и сразу видеть изменения? Монтирование локальной файловой системы внутрь контейнера - mount bind
00:43:51 nodemon для live reload NodeJS-проекта.
00:46:07 Чиним расшаривание портов (флаг -p)
00:48:22 Создаём именованный вольюм (mount volume). Пример с созданием в вольюме тестового файла.
00:56:43 Самое ценное свойство вольюма - персистентность
00:57:47 Разворачиваем проект на VPS в ручном режиме
00:59:04 Вход в Docker Hub и консоли - docker login. Пушим туда свой образ.
01:00:55 Стягиваем образ на VPS и запускаем. Пробуем запросы к приложению, запущенному на VPS.
01:06:30 Заключение

***
Спринтбокс — сверхмощные VDS на суперскоростях!
Промокод на кешбэк 50%: MAKEWEBME

⚛️⚛️⚛️
Телеграм для связи по курсу: @makewebchatme

💬 💬 💬

======

erid: 2SDnje1Mj4k
Рекомендации по теме
Комментарии
Автор

Спасибо!👍 Прекрасное видео где все отлично разжевано по докеру! Ждем продолжения обязательно! 💪

RUFF
Автор

Спасибо! Хорошее видео. Можете ci/cd еще показать с докером?

biLLie_wiLLie
Автор

Будет ли docker compose с vite или next в планах?

RamaRama-qvjo
Автор

для виндовзеров CMD ["nodemon", "-L", "your_file_here"]

Mykola--
Автор

Вообще на будущее прошу учесть, что новички еще на мак не заработали (или не считают нужным покупать), а если считают себя достаточно умными и сидят на линуксе - то сами способны разбираться с проблемами. Поэтому прошу учитывать это и делать видео кроссплатформенными

Mykola--
Автор

нихрена не понимаю как это сделать на виндовз, уже мучат чат гпт, это лучшее что он выдал, но все равно не работает
"docker:run": "docker run -d --mount source=$(npm run getPath)/, target=/app, type=bind -p 5000:3000 test",
"getPath": "npm run --silent getRealPath",
"getRealPath": "node -e \"process.stdout.write(process.cwd())\"",

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

Mykola--