Большое спасибо в очередной раз. Благодаря Вам я изучил докеры. Спасибо за Ваш труд! Мне кажется это лучшие видео по докерам в русско - язычной аудитории
@@RomNero а вот у меня есть вопрос Про хранения данных. Вот мы указали именные volume на примере базы данных. Мы вносим какие то изменения делаем работу и т.п и вот я хочу узнать где все это лежит ? Файл баз данных лежит на машине где мы запускаем докер ? И если да то как допустим я его могу скопировать или сделать бэкап?
Офигенный урок, не собирался смотреть 50 минут т.к. искал только ответ на вопрос, а в итоге и не заметил как прошло это время. Всё доступно и понятно рассказано. Но и покритикую тоже - нужно чаще показывать результат некоторых происходящих действий: например мы создали named volume, и сказано что где-то что-то создалось в какой-то папке. Лучше бы показать после запуска где и что, а то не совсем понятно. Конечно я нашел ответ сам, но гораздо понятнее когда сразу объясняют и показывают.
вах, красаучэг. как все хорошо расписал. А закинь видос, плз, что там для продакшина за переменные и безопасность ты упоминал. Я не девопс, мне просто любопытно)
по примеру на 28 минуте, пытался запустить compose, а оно выдавало ошибку "services.networks Additional property internet/localnet is not allowed" - оказалось проблема с отступами где сети прописывал, хотя YAML-валидатор мне ошибок не выдавал.
Здравствуйте, спасибо за ваши старания, отличная подача материала для начинающих но есть одна маленькая проблема, можете оставить исходники файлов docker compose yml, намучился искать пробелы линейкой
Привет, очень круто объясняешь, есть один вопрос который меня интересует, можно ли в docker compose собрать свой собственный образ из докерфайла и запустить из собранного образа новый контейнер?
@@RomNero да, увидел это, значит сомнение не просто так возникло, спасибо , что подтвердили его. Осталось понять правила по которым композ именует отображаемые имена (увидел зависимость от родительской директории) и ещё сеть почему-то берётся от имени сервиса, пока разбираюсь
@@RomNero ох... Предположим это правда, а как мне в описываемом yml файле один контейнер впихнуть в default bridge? Получается надо его намеренно указать? Кажется с каждым днём погружения в докер у меня больше вопросов, но вы всё равно можете меня поздравить - благодаря вам я осилил и запустил связку gitlab+redmine+nginx reverse proxy 😁
Здравствуйте! Возникли вопрос: Правильно ли я понимаю, что docker и docker-compose - это два разных приложения от одного "производителя"? Или же docker-compose является надстройкой над docker?
Спасибо большое за материал! Доступно, понятно, доходчиво 👍 У меня вопрос. А можно ли запустить определённый сервис в фоне, описанный в yml файле. Не командой, docker compose -f docker-compose.yml up -d а конкретно инструкцией из yml файла?
Спустя 2 года использования докера, только сегодня я узнал, что можно было нормально, а не docker run с параметрами в баш скрипте ))) А раньше мучался с обновлениями - остановить, удалить контейнеры и имиджи, запустить заново (о, ура, свежая версия заббикса например).
По куберу ролики не планируете? Или хотя бы как разворачивать кластер самому на голой убунту. Хотел попрактиковаться, установить кубернетес без миникуба. Вчера весь день потратил, так и не завелся, пробовал по разным инструкциям, все равно ошибки, то Not Ready, то с портом не то. Гуглил, файрволы выключал, включал, разрешал порты, ничего особо не помогло.
По K8s и Rancher будут видео, но не в ближайшее время. Уж очень обширная тема и нужно правильно и последовательно все сделать. Сам K8s поставить просто. А вот управлять pods, namespaces, ingress...
@@RomNero, так и не смог поставить. После kubeadm init во время pre-flight checks выходит ошибка: "[WARNING SystemVerification]: missing optional cgroups: blkio" и после завершения инициализации, при попытке проверить "kubectl get pods/nodes/services" выходит ошибка "...was refused - did you specify the right host or port?" Гугление не помогает. Пробовал по разным инструкциям.
Добрый день. Спасибо! Как всегда, видео вышло очень добротное! У меня возник вопрос по docker. Не по теме этого видео. Столкнулся с проблемой при запуске gitlab ci pipline на ранние с экзекьютером docker. Пишет постоянно, что не может зарезолвить хост. 2 дня поиска проблемы привели к тому, что есть у docker демона свой какой-то iptable. Знаете ли Вы что-то про это? И может будет на данную тему видео?
Спасибо за отзыв. Стоит попробовать зайти на сам gitlab и вручную проверить подключение к хосту. В докер практически никогда не включены iptables. Либо вы сами собирали контейнер, тогда нужно проверять.
@@RomNero к хосту подключается, раннер зарегистрирован. Да и образ брал для теста, как в Вашем видео по gitlab ubuntu:20.04 Как только переделываю раннер на shell - сразу все выполняется😕
Что должен делать раннер? Попробуй написать такой Job, который тестирует сетевое подключение. И тогда в консоле на gitlab можно определить ошибку. Я думаю, что это какая-то мелочь))
все конечно очень интересно, посмотрел с любопытством , но не понимаю зачем все это делать в командном режиме, автор даже правку файлов делает руками, когда есть Midnight Commander, но главное, например в моем случае (а у меня Synology NAS) докер в виде приложения с GUI, а также ещё такая классная вещь как Portainer позволяют очень многое делать все в графическом режиме, а правку файлов можно ещё сделать просто в File Station, а если нужен рут-доступ, то приложение типа WinCSP отлично позволяет подключаться к NAS по SSH (а при должной настройке и через рут) и тоже править любые конфигурации через интерфейс WinCSP, тут даже MC не нужен уже
Вы забегаете очень вперёд. Кто уже долгое время занимается линуксом, то все вещи, которые вы описали, и так известны. Здесь же цель показать как работает докер и что происходит в backend. Многие пользуются Portainer, но не всегда знают что именно и как он взаимодействиет с docker. Я сам все коды пишу в vscode. Если понимать как устроена сама технология, то не важно какими инструментами пользоваться.
Привет такой вопрос я подключаюсь с ктор к монго дб и у меня такой еррор 2023-07-22 13:39:29.230 [cluster-ClusterId{value='64bbdc077448766044c34191', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused}}] в нете ничего не нашол..
Спасибо, Вам, большое за объяснения сложных тем простым языком! Это самое полезное видео на youtube по теме Docker Compose!
Спасибо 👍
Большое спасибо в очередной раз. Благодаря Вам я изучил докеры. Спасибо за Ваш труд! Мне кажется это лучшие видео по докерам в русско - язычной аудитории
Спасибо за такой позитивный отзыв 👍
Это правда, я считаю так же. Вы очень талантливый преподаватель!
Самый крутые видео по докеру. Максимально понятно и последовательно. Спасибо.
Спвсибо за отзыв. Значит делал не зря👍🏻😊
Спасибо за ваш труд, очень хорошая подача материала, всех благ вам
Спасибо за отзыв. Буду продолжать в таком же стиле
Шикарно, как и предыдущие ролики.Спасибо за проделанную работу!
Спасибо за позитивный отзыв.
Привет из Новосибирска
Огромное спасибо тебе добрый человек !
Очень познавательно и интересно !
Объясняешь отлично !
Спасибо большое за отзыв. Буду продолжать👍🏻
@@RomNero а вот у меня есть вопрос
Про хранения данных.
Вот мы указали именные volume на примере базы данных.
Мы вносим какие то изменения делаем работу и т.п и вот я хочу узнать где все это лежит ? Файл баз данных лежит на машине где мы запускаем докер ?
И если да то как допустим я его могу скопировать или сделать бэкап?
Файлы хранятся на хосте в той директории, которая указана в левой части volumes.
Как всегда доступно и понятно! Благодарю!
Всегда пожалуйста. Спасибо за отзыв👍🏻
Важная и интересная тема. Спасибо за ваш урок.
Спасибо, смотрю не первый твой ролик, очень понятно и доступно
Спасибо за такое доходчивое объяснение! Вы делаете доброе дело.
Спасибо за позитивный отзыв.
Спасибо за все ваши видео уроки! Очень круто!
Спасибо большое за серию уроков по докеру, очень понятно
Спасибо за отзыв. Рад помочь 👍🏻😉
Автору огромная благодарность! Всё доходчиво объяснено.
Спасибо 👍
Дякую, просто шикарно :)
Дякую🙂
Самые годные видосы по докеру! Прям ждал. Стал хоть понимать что происходит за кулисами портейнера!
Спачибо. О Portainer тоже сделаю видео.
Это действительно самые понятные видео!!! Спасибо огромное!
Спасибо, очень сильно ждал!)
Рад помочь. Спасибо. 😉
Отличное Видео, спасибо за ценный материал:)
Спасибо за отзыв👍🏻
Спасибо за видео. Коммент в поддержку!
Спасибо за поддержку👍🏻
Офигенный урок, не собирался смотреть 50 минут т.к. искал только ответ на вопрос, а в итоге и не заметил как прошло это время. Всё доступно и понятно рассказано. Но и покритикую тоже - нужно чаще показывать результат некоторых происходящих действий: например мы создали named volume, и сказано что где-то что-то создалось в какой-то папке. Лучше бы показать после запуска где и что, а то не совсем понятно. Конечно я нашел ответ сам, но гораздо понятнее когда сразу объясняют и показывают.
Спасибо за отзыв и за полезное замечание. Приму во внимание👍😉
И как же и где?)) Я пока не искал, но тоже стало любопытно)
Просто супер!
Спасибо за отзыв 👍🏻
Надеюсь будет продолжение)
На какую тему ждёте видео? 👍🏻
Связки с Кубернетес)
По K8s будет серия видео. Но точную дату пока не могу назвать
вах, красаучэг. как все хорошо расписал. А закинь видос, плз, что там для продакшина за переменные и безопасность ты упоминал. Я не девопс, мне просто любопытно)
Спасибо😄
С нетерпением жду продолжения ваших курсов и хотел бы спросить уроки по ansible ещё актуальны?
Спасибо. Продолжение будет.
Уроки по ansible актуальны.
Спасибо за ваш подход и труд. Годные видео по Docker. Будут ли ещё видео по данной технологии и какие?
Спасибо за отзыв.
Ещё, будет 1-2 видео по темам точно не могу сказать. Ещё не готовы😊
Благодарю
Уважаемый автор, большое спасибо за ваши видео. Учусь с помощью вашего канала. Вопрос у меня, будут ли видео о proxmox?
Спасибо за отзыв.
Одно небольшое видео о proxmox есть на канале. Будут ещё. Сказать когда, пока не могу.
а в чем вопрос по проксмоксу?=)
по примеру на 28 минуте, пытался запустить compose, а оно выдавало ошибку "services.networks Additional property internet/localnet is not allowed" - оказалось проблема с отступами где сети прописывал, хотя YAML-валидатор мне ошибок не выдавал.
Здравствуйте, спасибо за ваши старания, отличная подача материала для начинающих но есть одна маленькая проблема, можете оставить исходники файлов docker compose yml, намучился искать пробелы линейкой
Спасибо за отзыв. Загрузил исходники-примеры на GitHub: github.com/RomNero/UA-cam-Infos/blob/main/Docker/08-docker-compose.txt
Привет, очень круто объясняешь, есть один вопрос который меня интересует, можно ли в docker compose собрать свой собственный образ из докерфайла и запустить из собранного образа новый контейнер?
Спасибо за отзыв. Да, конечно можно. Нужно вместо image указать build. Примеров хватает даже на офф сайте.
@@RomNero в одной команде нужно указать docker compose build и docker compose run? если да, можете показать пример пожалуйста)
В официальной документации есть много примеров.
services:
frontend:
image: awesome/webapp
build: ./webapp
backend:
image: awesome/database
build:
context: backend
dockerfile: ../backend.Dockerfile
custom:
build: ~/custom
Будут ли видео по Virtiofs? Спасибо!
Не планировал, но посмотрю. Если наберётся о чем рассказать, то сделаю.
7:14 Уважаемый автор, а нет ли тут ошибки, вы описали сеть, но контейнеру её не указали, или это потом будет?
Спасибо. Верно подметили, контейнер без сети. Моя ошибка. В примере я уже правильно показывал с сетями.
@@RomNero да, увидел это, значит сомнение не просто так возникло, спасибо , что подтвердили его. Осталось понять правила по которым композ именует отображаемые имена (увидел зависимость от родительской директории) и ещё сеть почему-то берётся от имени сервиса, пока разбираюсь
А нет, сорри за путаницу, все верно. В этом случае настройка сети относится ко всем сервисам в compose (контейнерам).
@@RomNero ох... Предположим это правда, а как мне в описываемом yml файле один контейнер впихнуть в default bridge? Получается надо его намеренно указать? Кажется с каждым днём погружения в докер у меня больше вопросов, но вы всё равно можете меня поздравить - благодаря вам я осилил и запустил связку gitlab+redmine+nginx reverse proxy 😁
Тогда нужно для отдельного сервиса специально указывать сеть.
Поздравляю😉 Значит делаю видео не зря. Это просто отличная оценка для меня👍
!!!super
Здравствуйте!
Возникли вопрос:
Правильно ли я понимаю, что docker и docker-compose - это два разных приложения от одного "производителя"? Или же docker-compose является надстройкой над docker?
Частично верно. Docker-compose это плагин к Docker. Он расширяет возможности самого Docker.
Docker-compose сам по себе не работает.
@@RomNero большое спасибо за обратную связь!
Спасибо большое за материал! Доступно, понятно, доходчиво 👍
У меня вопрос. А можно ли запустить определённый сервис в фоне, описанный в yml файле. Не командой, docker compose -f docker-compose.yml up -d
а конкретно инструкцией из yml файла?
подскажите как вы определяете какую версию необходимо при настройке yml файла какого-либо приклада?
Версия влияет на синтаксис самого compose файл. На приложение это не влияет.
Спустя 2 года использования докера, только сегодня я узнал, что можно было нормально, а не docker run с параметрами в баш скрипте ))) А раньше мучался с обновлениями - остановить, удалить контейнеры и имиджи, запустить заново (о, ура, свежая версия заббикса например).
По куберу ролики не планируете?
Или хотя бы как разворачивать кластер самому на голой убунту. Хотел попрактиковаться, установить кубернетес без миникуба. Вчера весь день потратил, так и не завелся, пробовал по разным инструкциям, все равно ошибки, то Not Ready, то с портом не то. Гуглил, файрволы выключал, включал, разрешал порты, ничего особо не помогло.
По K8s и Rancher будут видео, но не в ближайшее время. Уж очень обширная тема и нужно правильно и последовательно все сделать.
Сам K8s поставить просто. А вот управлять pods, namespaces, ingress...
@@RomNero, так и не смог поставить. После kubeadm init во время pre-flight checks выходит ошибка:
"[WARNING SystemVerification]: missing optional cgroups: blkio"
и после завершения инициализации, при попытке проверить "kubectl get pods/nodes/services" выходит ошибка "...was refused - did you specify the right host or port?"
Гугление не помогает. Пробовал по разным инструкциям.
Если ставите на VMs, то включите в гипкрвизор nested Virtualisation.
Или попробуйте с другим линукс дистрибутивом.
@@RomNero, только, что нашел еще одну инструкцию ua-cam.com/video/L9kN7E2RN3A/v-deo.html и всё заработало наконец)
Поздравляю. Удачи в изучении 👍🏻
Добрый день. Спасибо! Как всегда, видео вышло очень добротное!
У меня возник вопрос по docker. Не по теме этого видео. Столкнулся с проблемой при запуске gitlab ci pipline на ранние с экзекьютером docker. Пишет постоянно, что не может зарезолвить хост. 2 дня поиска проблемы привели к тому, что есть у docker демона свой какой-то iptable. Знаете ли Вы что-то про это? И может будет на данную тему видео?
Спасибо за отзыв.
Стоит попробовать зайти на сам gitlab и вручную проверить подключение к хосту.
В докер практически никогда не включены iptables. Либо вы сами собирали контейнер, тогда нужно проверять.
@@RomNero к хосту подключается, раннер зарегистрирован. Да и образ брал для теста, как в Вашем видео по gitlab ubuntu:20.04 Как только переделываю раннер на shell - сразу все выполняется😕
Что должен делать раннер?
Попробуй написать такой Job, который тестирует сетевое подключение. И тогда в консоле на gitlab можно определить ошибку.
Я думаю, что это какая-то мелочь))
@@RomNero большое спасибо, буду пробовать, а job должен просто echo вывести😀
Есть команда чтобы удалить сразу много контейнеров - docker rm $(docker ps -aq) где ключ q возвращает айдишки контейнеров
Так же можно применить к image и volumes:
docker rmi -f $(docker images -q)
docker volume rm $(docker volume ls -q)
Было было хорошо если еще на github выложили все коды
Посмотрю остались ли на сервере эти коды. Выложу обязательно.
@@RomNero Спасибо, а так все круто, еще бы полный курс по Git для начинающих
По git есть уже. Вот ua-cam.com/video/znnMmnVgD_w/v-deo.html
все конечно очень интересно, посмотрел с любопытством , но не понимаю зачем все это делать в командном режиме, автор даже правку файлов делает руками, когда есть Midnight Commander, но главное, например в моем случае (а у меня Synology NAS) докер в виде приложения с GUI, а также ещё такая классная вещь как Portainer позволяют очень многое делать все в графическом режиме, а правку файлов можно ещё сделать просто в File Station, а если нужен рут-доступ, то приложение типа WinCSP отлично позволяет подключаться к NAS по SSH (а при должной настройке и через рут) и тоже править любые конфигурации через интерфейс WinCSP, тут даже MC не нужен уже
Вы забегаете очень вперёд. Кто уже долгое время занимается линуксом, то все вещи, которые вы описали, и так известны.
Здесь же цель показать как работает докер и что происходит в backend.
Многие пользуются Portainer, но не всегда знают что именно и как он взаимодействиет с docker.
Я сам все коды пишу в vscode.
Если понимать как устроена сама технология, то не важно какими инструментами пользоваться.
я думаю что за акцент. германский :)
Хахаха, в я яблочко 😄
докА Компос
Если бы автор не выпендривался с произношением, было бы проще.
По другому не знаю. Где я - все так говорят.
он в Германии живет, чё доебался?
Спасибо большое!
У меня сработало лишь когда я :/var/www/html заменил на /usr/share/nginx/html
Привет такой вопрос я подключаюсь с ктор к монго дб и у меня такой еррор
2023-07-22 13:39:29.230 [cluster-ClusterId{value='64bbdc077448766044c34191', description='null'}-localhost:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to {type=UNKNOWN, servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused}}]
в нете ничего не нашол..