through the Eyes of a freelancer
through the Eyes of a freelancer
  • 40
  • 117 648
Многотомный Docker. Разбираемся с томами (volumes)
Продолжаем разбирать тонкости и нюансы разворачивания Laravel-приложения в docker-контейнерах.
Сегодня поговорим о volumes (томах). Каких трёх типов они бывают и какую роль выполняют. Как с помощью томов можно избежать потери данных при удалении контейнера. Всё это - на практике, используя конфигурацию, которую мы создали в предыдущем ролике.
Код можно взять в открытом репозитории на GitHub: github.com/ekut/laravel-app-dockerized
Первый ролик из этой серии: th-cam.com/video/5bSA__OWebM/w-d-xo.html
Получать анонсы новых видео можно на нашем телеграм-канале "Глазами фрилансера": t.me/freelancer_eyes
Содержание ролика "Многотомный Docker. Разбираемся с томами (volumes)":
0:00 Сегодня говорим о томах (volumes) в Docker.
0:30 Рекомендую сначала посмотреть первый ролик из серии, если ещё не видели.
1:05 Обещанный ролик об организации прав доступа при работе с Docker выйдет немного позже.
2:35 Временное решение проблем с доступом к папке storage.
3:10 Запускаем контейнеры имеющейся у нас конфигурации.
5:05 Запускаем служебные контейнеры с ключом --rm, чтобы отработавшие контейнеры не загрязняли списки имеющихся контейнеров.
8:00 Смотрим внутрь базы данных (используем встроенный инструмент PhpStorm).
10:30 Останавливаем mysql-контейнер, перезапускаем его - данные на месте.
11:15 Смотрим на том (volume), который сохранил наши данные.
12:40 Удаляем созданный ранее контейнер mysql. Запускаем новый, точно такой же... Данные из базы исчезли!
13:50 Почему данные пропали?
15:35 Определяем анонимный volume.
16:25 Определяем именованный том (volume).
17:30 Повторяем процедуру сохранения данных, удаления контейнера, запускаем новый контейнер... Данные на месте!
20:55 Третий тип volumes: bind mount.
24:45 Для работы с базой данных чаще всего достаточно использовать именованный том.
25:39 Подводим итоги: краткое описание трёх типов docker volumes.
#ГлазамиФрилансера #laravel #docker
มุมมอง: 3 621

วีดีโอ

Laravel-приложение в docker-контейнерах: практическое занятие для тех, кто всё ещё боится докера
มุมมอง 20Kปีที่แล้ว
Мне очень часто приходится смотреть в чужой код, наблюдать за практиками разработки самых разных команд. И удивительная штука: на дворе 2023 год, а контейнеризация, Docker и прочие полезные инструменты по-прежнему используются очень неохотно. Поэтому я решил снять этот ролик, практически полностью посвящённый практике контейнеризации. У вас на глазах с помощью 6 небольших файлов я подготовлю ок...
Облачный блог-2. SSH, доступ к wp-admin, регистрация домена в AWS Lightsail (WordPress)
มุมมอง 301ปีที่แล้ว
Содержание ролика "Облачный блог-2. SSH, доступ к wp-admin, регистрация домена в AWS Lightsail (WordPress)": 0:00 На чём мы остановились в прошлый раз? 1:45 Как получить доступ к WP-admin? 2:20 Донастраиваем доступ по SSH, в том числе устанавливаем правильные права на ssh key. 6:15 Получаем пароль для доступа и входим в wp-admin. Но курсов по WordPress здесь не будет. 8:05 Получаем статичный IP...
Облачный блог: запустить WordPress в AWS с помощью Lightsail
มุมมอง 597ปีที่แล้ว
Совершенно реальная задача: запустить приложение на движке WordPress. Казалось бы, в чём проблема? Запускаем виртуальный (или dedicated) сервер с web-сервером Apache или nginx, с PHP, с сервером баз данных, инсталлируем WordPress, как это описано в документации к движку и - вперёд! И да, для персонального блога с не слишком большой посещаемостью это вполне работающий подход. Если же мы на движк...
Laravel-data от Spatie: просто и со вкусом! Описание библиотеки.
มุมมอง 2.7Kปีที่แล้ว
Фреймворк Laravel, конечно же, давно предоставляет довольно удобные инструменты для валидации и модификации входящих и исходящих (request и response) данных. Всем нам известны FormRequest, Eloquent API Resource, пакет DataTransferObject (DTO) от Spatie. Зачем же та же самая компания Spatie создала новую библиотеку, laravel-data? И почему она показалась мне такой интересной? Да просто потому, чт...
Объекты и структуры данных (DTO, Active Records, закон Деметры) - По книге Р. Мартина "Чистый код"
มุมมอง 9Kปีที่แล้ว
Не всё, что называется классом, описывает объекты. Очень часто класс содержит описание структур данных, которые предполагают простую процедурную обработку, а не полноценное объектно-ориентированное программирование. Ни один из этих двух подходов - ООП или процедурное программирование - не идеален. Как правильное использование структур данных и объектов позволяет соблюдать SOLID-принципы? Что оп...
PHP metrics. Инструмент оценки сложности и maintainability кода. Часть 1 | Глазами фрилансера
มุมมอง 8Kปีที่แล้ว
Есть ли объективный способ оценить чистоту кода, его сложность и способность к развитию (maintainability)? Есть. Его предоставляет нам, в частности, пакет PHP metrics, использующий набор математически и статистически обоснованных методов такой оценки. Давайте посмотрим, как такой анализ выглядит и как читать отчёты PHP metrics. Содержание ролика "Анализируй это! PHP metrics. Часть 1": 00:00 Наи...
Форматирование кода при командной работе. Чистый код 4 - #ГлазамиФрилансера
มุมมอง 837ปีที่แล้ว
Продолжаем разбирать книгу Роберта Мартина "Чистый код". Сегодня поговорим о форматировании кода (5-ая глава книги). Но о чём здесь разговаривать в наш век IDE? Какие трудности могут быть связаны с форматированием? С самим форматированием - никаких. Более того, современные IDE предоставляют нам такой комфорт в этом деле, что грех жаловаться. Проблемы начинаются, когда над кодом работает команда...
Конкурс и призы! Потому что каналу #ГлазамиФрилансера - полгода!
มุมมอง 215ปีที่แล้ว
ПЕРВЫЙ КОНКУРС ДЛЯ ПОДПИСЧИКОВ И КОММЕНТАТОРОВ Добрый день, друзья! На днях каналу исполнилось полгода. За это время нас собралось почти полтысячи. И это без какой-либо рекламы. А главное: аудитория у канала подобралась - на загляденье! Такой мощной поддержкой, такими умными комментариями, такой доброжелательностью со стороны зрителей должен гордиться любой влогер. Особенно такой начинающий и н...
Чистый код? Без комментариев! На основе книги Роберта Мартина - #ГлазамиФрилансера
มุมมอง 1.6Kปีที่แล้ว
Каждая строчка комментариев в нашем коде - это наша неудача, наше маленькое поражение. Это не я придумал. Это мысль Роберта Мартина из книги "Чистый код". Но как же так? Ведь известна же идея, что код должен быть хорошо документирован. Как внешней документацией, так и внутренними комментариями. Так его проще читать, так его проще поддерживать. Нет! - говорит Мартин. И за годы работы я пришёл к ...
Чистый код. №2: Чистим функции. Теория и практика. По книге Роберта Мартина
มุมมอง 6Kปีที่แล้ว
Как сделать функции хорошо читаемыми? Функция должна быть короткой или очень короткой? А что значит: "короткая функция"? Чем плохи конструкции switch (match)? Почему так отвратительны аргументы-флаги? Как функция связана с уровнем абстракции и принципом единственной ответственности (Single Responsibility Principle)? Нуль-арные, унарные, бинарные, тернарные и полиарные функции - что это? Как пра...
Чистый код. №1: Зачем мыть трубочиста? Правильные имена переменных. На основе книги Роберта Мартина
มุมมอง 4.2Kปีที่แล้ว
Код, как и любая сложная система, склонен к деградации, к хаосу. Это приводит к тому, что самое простое изменение внезапно становится очень трудно разместить на production сервере. При этом давно известны практики, защищающие код от деградации. Есть книга Роберта Мартина "Чистый код", где эти практики довольно подробно изложены и разобраны чуть не по косточкам. Давайте начнём обсуждение этих пр...
Генераторы (generators) в PHP | Глазами фрилансера
มุมมอง 19Kปีที่แล้ว
Генераторы в любом языке программирования, в том числе PHP - очень интересный, мощный и в то же время простой инструмент. Однако их смысл далеко не очевиден, что иногда мешает разработчику начать применять их на практике. Давайте внимательно рассмотрим, как устроены генераторы, как они работают и увидим, как именно они помогают нам работать с огромными массивами данных, сберегая при этом операт...
[ENG sub] Closures in PHP.
มุมมอง 2.6Kปีที่แล้ว
[ENG sub] Closures in PHP.
Cover Letter. Пишем письма работодателям - #ГлазамиФрилансера
มุมมอง 319ปีที่แล้ว
Cover Letter. Пишем письма работодателям - #ГлазамиФрилансера
Goodbye, Gitflow! Hello, Trunk-based development!
มุมมอง 2Kปีที่แล้ว
Goodbye, Gitflow! Hello, Trunk-based development!
Почему умирают проекты?
มุมมอง 2.4K2 ปีที่แล้ว
Почему умирают проекты?
Вызов aka Challenge
มุมมอง 3292 ปีที่แล้ว
Вызов aka Challenge
Скрипач не нужен. Фреймворк не важен!
มุมมอง 8552 ปีที่แล้ว
Скрипач не нужен. Фреймворк не важен!
Laravel + UpWork === переезд на Бали?
มุมมอง 2.4K2 ปีที่แล้ว
Laravel UpWork переезд на Бали?
...к нам протянули волокно! - Fibers в PHP 8.1+ - #ГлазамиФрилансера
มุมมอง 3.8K2 ปีที่แล้ว
...к нам протянули волокно! - Fibers в PHP 8.1 - #ГлазамиФрилансера
Балийское жильё-быльё
มุมมอง 6312 ปีที่แล้ว
Балийское жильё-быльё
В очередь, стэкины дети! (Продолжаем разговор о структурах данных в PHP)
มุมมอง 1.7K2 ปีที่แล้ว
В очередь, стэкины дети! (Продолжаем разговор о структурах данных в PHP)
Есть ли массивы в PHP?
มุมมอง 4.8K2 ปีที่แล้ว
Есть ли массивы в PHP?
Как похорошел наш artisan! - Что нового в Laravel 9.21
มุมมอง 8852 ปีที่แล้ว
Как похорошел наш artisan! - Что нового в Laravel 9.21
Непостоянные константы. Второй разговор из серии "Ruby для PHP-шников"
มุมมอง 1292 ปีที่แล้ว
Непостоянные константы. Второй разговор из серии "Ruby для PHP-шников"
Что за жизнь без операторов? Первый разговор из серии "Ruby для PHP-шников"
มุมมอง 4422 ปีที่แล้ว
Что за жизнь без операторов? Первый разговор из серии "Ruby для PHP-шников"
Laravel Pint - инструмент форматирования кода от сообщества Laravel
มุมมอง 1K2 ปีที่แล้ว
Laravel Pint - инструмент форматирования кода от сообщества Laravel
IDE как инвестиция
มุมมอง 7892 ปีที่แล้ว
IDE как инвестиция
PHP 8.2: Наступление на магию - #ГлазамиФрилансера
มุมมอง 3.5K2 ปีที่แล้ว
PHP 8.2: Наступление на магию - #ГлазамиФрилансера