through the Eyes of a freelancer
through the Eyes of a freelancer
  • 40
  • 118 633
Многотомный Docker. Разбираемся с томами (volumes)
Продолжаем разбирать тонкости и нюансы разворачивания Laravel-приложения в docker-контейнерах.
Сегодня поговорим о volumes (томах). Каких трёх типов они бывают и какую роль выполняют. Как с помощью томов можно избежать потери данных при удалении контейнера. Всё это - на практике, используя конфигурацию, которую мы создали в предыдущем ролике.
Код можно взять в открытом репозитории на GitHub: github.com/ekut/laravel-app-dockerized
Первый ролик из этой серии: ua-cam.com/video/5bSA__OWebM/v-deo.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 675

Відео

Laravel-приложение в docker-контейнерах: практическое занятие для тех, кто всё ещё боится докера
Переглядів 21 тис.Рік тому
Мне очень часто приходится смотреть в чужой код, наблюдать за практиками разработки самых разных команд. И удивительная штука: на дворе 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
Переглядів 603Рік тому
Совершенно реальная задача: запустить приложение на движке WordPress. Казалось бы, в чём проблема? Запускаем виртуальный (или dedicated) сервер с web-сервером Apache или nginx, с PHP, с сервером баз данных, инсталлируем WordPress, как это описано в документации к движку и - вперёд! И да, для персонального блога с не слишком большой посещаемостью это вполне работающий подход. Если же мы на движк...
Laravel-data от Spatie: просто и со вкусом! Описание библиотеки.
Переглядів 2,7 тис.Рік тому
Фреймворк Laravel, конечно же, давно предоставляет довольно удобные инструменты для валидации и модификации входящих и исходящих (request и response) данных. Всем нам известны FormRequest, Eloquent API Resource, пакет DataTransferObject (DTO) от Spatie. Зачем же та же самая компания Spatie создала новую библиотеку, laravel-data? И почему она показалась мне такой интересной? Да просто потому, чт...
Объекты и структуры данных (DTO, Active Records, закон Деметры) - По книге Р. Мартина "Чистый код"
Переглядів 9 тис.Рік тому
Не всё, что называется классом, описывает объекты. Очень часто класс содержит описание структур данных, которые предполагают простую процедурную обработку, а не полноценное объектно-ориентированное программирование. Ни один из этих двух подходов - ООП или процедурное программирование - не идеален. Как правильное использование структур данных и объектов позволяет соблюдать SOLID-принципы? Что оп...
PHP metrics. Инструмент оценки сложности и maintainability кода. Часть 1 | Глазами фрилансера
Переглядів 8 тис.Рік тому
Есть ли объективный способ оценить чистоту кода, его сложность и способность к развитию (maintainability)? Есть. Его предоставляет нам, в частности, пакет PHP metrics, использующий набор математически и статистически обоснованных методов такой оценки. Давайте посмотрим, как такой анализ выглядит и как читать отчёты PHP metrics. Содержание ролика "Анализируй это! PHP metrics. Часть 1": 00:00 Наи...
Форматирование кода при командной работе. Чистый код 4 - #ГлазамиФрилансера
Переглядів 843Рік тому
Продолжаем разбирать книгу Роберта Мартина "Чистый код". Сегодня поговорим о форматировании кода (5-ая глава книги). Но о чём здесь разговаривать в наш век IDE? Какие трудности могут быть связаны с форматированием? С самим форматированием - никаких. Более того, современные IDE предоставляют нам такой комфорт в этом деле, что грех жаловаться. Проблемы начинаются, когда над кодом работает команда...
Конкурс и призы! Потому что каналу #ГлазамиФрилансера - полгода!
Переглядів 215Рік тому
ПЕРВЫЙ КОНКУРС ДЛЯ ПОДПИСЧИКОВ И КОММЕНТАТОРОВ Добрый день, друзья! На днях каналу исполнилось полгода. За это время нас собралось почти полтысячи. И это без какой-либо рекламы. А главное: аудитория у канала подобралась - на загляденье! Такой мощной поддержкой, такими умными комментариями, такой доброжелательностью со стороны зрителей должен гордиться любой влогер. Особенно такой начинающий и н...
Чистый код? Без комментариев! На основе книги Роберта Мартина - #ГлазамиФрилансера
Переглядів 1,6 тис.Рік тому
Каждая строчка комментариев в нашем коде - это наша неудача, наше маленькое поражение. Это не я придумал. Это мысль Роберта Мартина из книги "Чистый код". Но как же так? Ведь известна же идея, что код должен быть хорошо документирован. Как внешней документацией, так и внутренними комментариями. Так его проще читать, так его проще поддерживать. Нет! - говорит Мартин. И за годы работы я пришёл к ...
Чистый код. №2: Чистим функции. Теория и практика. По книге Роберта Мартина
Переглядів 6 тис.Рік тому
Как сделать функции хорошо читаемыми? Функция должна быть короткой или очень короткой? А что значит: "короткая функция"? Чем плохи конструкции switch (match)? Почему так отвратительны аргументы-флаги? Как функция связана с уровнем абстракции и принципом единственной ответственности (Single Responsibility Principle)? Нуль-арные, унарные, бинарные, тернарные и полиарные функции - что это? Как пра...
Чистый код. №1: Зачем мыть трубочиста? Правильные имена переменных. На основе книги Роберта Мартина
Переглядів 4,2 тис.Рік тому
Код, как и любая сложная система, склонен к деградации, к хаосу. Это приводит к тому, что самое простое изменение внезапно становится очень трудно разместить на production сервере. При этом давно известны практики, защищающие код от деградации. Есть книга Роберта Мартина "Чистый код", где эти практики довольно подробно изложены и разобраны чуть не по косточкам. Давайте начнём обсуждение этих пр...
Генераторы (generators) в PHP | Глазами фрилансера
Переглядів 19 тис.Рік тому
Генераторы в любом языке программирования, в том числе PHP - очень интересный, мощный и в то же время простой инструмент. Однако их смысл далеко не очевиден, что иногда мешает разработчику начать применять их на практике. Давайте внимательно рассмотрим, как устроены генераторы, как они работают и увидим, как именно они помогают нам работать с огромными массивами данных, сберегая при этом операт...
[ENG sub] Closures in PHP.
Переглядів 2,6 тис.Рік тому
[ENG sub] Closures in PHP.
Cover Letter. Пишем письма работодателям - #ГлазамиФрилансера
Переглядів 321Рік тому
Cover Letter. Пишем письма работодателям - #ГлазамиФрилансера
Goodbye, Gitflow! Hello, Trunk-based development!
Переглядів 2,1 тис.Рік тому
Goodbye, Gitflow! Hello, Trunk-based development!
Почему умирают проекты?
Переглядів 2,4 тис.2 роки тому
Почему умирают проекты?
Вызов aka Challenge
Переглядів 3292 роки тому
Вызов aka Challenge
Скрипач не нужен. Фреймворк не важен!
Переглядів 8632 роки тому
Скрипач не нужен. Фреймворк не важен!
Laravel + UpWork === переезд на Бали?
Переглядів 2,4 тис.2 роки тому
Laravel UpWork переезд на Бали?
...к нам протянули волокно! - Fibers в PHP 8.1+ - #ГлазамиФрилансера
Переглядів 3,9 тис.2 роки тому
...к нам протянули волокно! - Fibers в PHP 8.1 - #ГлазамиФрилансера
Балийское жильё-быльё
Переглядів 6332 роки тому
Балийское жильё-быльё
В очередь, стэкины дети! (Продолжаем разговор о структурах данных в PHP)
Переглядів 1,8 тис.2 роки тому
В очередь, стэкины дети! (Продолжаем разговор о структурах данных в PHP)
Есть ли массивы в PHP?
Переглядів 4,8 тис.2 роки тому
Есть ли массивы в PHP?
Как похорошел наш artisan! - Что нового в Laravel 9.21
Переглядів 8852 роки тому
Как похорошел наш artisan! - Что нового в Laravel 9.21
Непостоянные константы. Второй разговор из серии "Ruby для PHP-шников"
Переглядів 1302 роки тому
Непостоянные константы. Второй разговор из серии "Ruby для PHP-шников"
Что за жизнь без операторов? Первый разговор из серии "Ruby для PHP-шников"
Переглядів 4462 роки тому
Что за жизнь без операторов? Первый разговор из серии "Ruby для PHP-шников"
Laravel Pint - инструмент форматирования кода от сообщества Laravel
Переглядів 1 тис.2 роки тому
Laravel Pint - инструмент форматирования кода от сообщества Laravel
IDE как инвестиция
Переглядів 7912 роки тому
IDE как инвестиция
PHP 8.2: Наступление на магию - #ГлазамиФрилансера
Переглядів 3,5 тис.2 роки тому
PHP 8.2: Наступление на магию - #ГлазамиФрилансера