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

Поделиться
HTML-код
  • Опубликовано: 3 июл 2024
  • Этот ролик про 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 на суперскоростях!
    sprintbox.ru/c5233
    Промокод на кешбэк 50%: MAKEWEBME
    ⚛️⚛️⚛️
    Пройди практический курс "Javascript Fullstack разработчик" от MakeWeb.me.
    Детали тут: makeweb.me/course-js-fullstac...
    Плейлист тут: • Курс "Javascript Fulls...
    Телеграм для связи по курсу: @makewebchatme
    💬 💬 💬
    Присоединяйся к нашему Telegram-чату t.me/makewebme
    ======
    erid: 2SDnje1Mj4k

Комментарии • 11

  • @1982RUFF
    @1982RUFF 4 месяца назад

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

  • @andreykostyuchenko3239
    @andreykostyuchenko3239 4 месяца назад

    отличное видео

  • @biLLie_wiLLie
    @biLLie_wiLLie 5 месяцев назад +2

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

  • @RamaRama-qv3jo
    @RamaRama-qv3jo 4 месяца назад

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

  • @Mykola--1
    @Mykola--1 5 месяцев назад

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

  • @Mykola--1
    @Mykola--1 5 месяцев назад +1

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

    • @Christopher_Holloway
      @Christopher_Holloway 4 месяца назад

      Для винды нет докера. Раньше он работал через VirtualBox, сейчас - через WSL. С линуксом в любом случае разбираться придётся.

    • @Mykola--1
      @Mykola--1 4 месяца назад

      @@Christopher_Holloway в последние пару лет на 10й нормально уже работает. Я сделал как хотел на Винде в итоге, все реально

    • @RamaRama-qv3jo
      @RamaRama-qv3jo 4 месяца назад

      ​@@Christopher_Hollowayуже давно есть

    • @Christopher_Holloway
      @Christopher_Holloway 4 месяца назад

      @@RamaRama-qv3jo ты сам придумал? Скинь ссылку если есть. Просто само ядро докера есть только для линукса.

  • @Mykola--1
    @Mykola--1 5 месяцев назад

    нихрена не понимаю как это сделать на виндовз, уже мучат чат гпт, это лучшее что он выдал, но все равно не работает
    "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())\"",
    почему я хочу сделать адрес динамичным - потому что в реальном приложении, код будут запускать разные люди, и на разных платформах, и с разным путем папок, если каждый будет у себя менять этот файл, это будет снижать скороть разработки и онбоардинга.