Vyacheslav
Здравствуйте, подскажите такую штуку, у меня будет в облаке создаваться динамически много машин, я хочу их в локальном portainer увидеть, можно ли как-то сделать, чтобы они в нём автоматически появлялись, если требуется портайнер может быть с внешним статическим IP
Vyacheslav
я так понимаю это через docker edge делается?
Alexey
коллеги, подскажите что я делаю не так ``` postgres: image: postgres:14-alpine env_file: - .development.env environment: PG_DATA: /var/lib/postgresql/data ports: - 5432:5432 volumes: - type: bind source: ./data/postgres/data target: /var/lib/postgresql/data restart: always ``` собственно кусок докер-композ файла хочу чтоб создавалась пустая база для тестов/разработки, однако чтоб в репе гита папка не пропадала по канону надо создать внутри пустой файл .gitkeep и получается что если я его создаю ./data/postgres/ с файлом внутри от ругается постгрес initdb: error: directory "/var/lib/postgresql/data" exists but is not empty If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". справедливо… и если указываю путь ./data/postgres/data ожидая что докер создаст поддиректорию сам, этого не происходит, хотя должно… к сожалению потерял ссылочук где об этом прочитал… на стэковерфлоу гдето… (( вобщем как результат Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /backend/data/postgres/data как сделать чтобы стало хорошо при этом исключив ручной труд по созданию директорий, например при свежем клонировании репозитория
Alexey
если вдруг это важно, у меня MacOS 11.5.2 Docker desktop 4.4.2 (73305) Engine: 20.10.12 Compose: v2.2.3
Vitaly
Пишет ведь
Vitaly
В папке чтото есть уже
Vitaly
Дайте ему чистую папку, он сам создаст
Alexey
Дайте ему чистую папку, он сам создаст
ну вот с чистой папкой проблема. гит её грохнет при пуше… тоесть при получении репозитория её уже не будет
Vitaly
Не совсем понял каким боком тут гит вообще
Alex
Всем привет. я из другого контейнера обращаюсь к апи другого контейнера по имени_сервиса:порт/апи_вызов и он все время шлет мне bad request, если на локальной тачке все запускаю, то все гуд
Ighor
привет, как выяснить является ли контейнер запущенным как демон или нет?
Dan
в смысле как демон?
SarDigital
0_o
Ighor
в смысле как демон?
в смысле запущен через docker run -d
Vyacheslav
Контейнер может быть запущен просто, это ps, а может быть в параметре restart указано, чтобы контейнер запускался вместе с демоном докера
Vyacheslav
Погугли этот параметр, там есть разные варианты рестарта контейнера
Vyacheslav
в смысле запущен через docker run -d
D если что это deattached, типо откреплён от текущей сессии консоли, а не демон, все контейнеры запускает демон докера
Ighor
Смотри параметр restart через docker inspect
да я понимаю, поэтому это логично
Vyacheslav
Ps показывает запущенные контейнеры, в других сессиях включительно, даже без -d
Ighor
есть ли удобное решение посылать docker events в Telegram?
Vyacheslav
https://hub.docker.com/r/poma/docker-telegram-notifier первое в списке
Robocat
В чем отличие Докера от традиционной виртуализации аля Hyperv?
GM
Отличий много, целую статью можно написать на тему, но основное двумя словами - гипервизоры виртуализируют железо чтобы можно было поднимать много разных осьей рядом и жили они дружно а контейнеры виртуалзируют(*образно говоря для аналогии) уже ОСь чтобы можно было поднять много разных ворклоадов на одной и той же системе и не заморачиваться про всякие разные конфликты версии, соответсвенно предоставляя возможность утилизировать весь потенциал ресурсов ВМ-ки или железки… еще контейнеры более легкие, легче транспортировать, быстрее стартуют и удаляются, гибкие и т.п.
Ighor
https://hub.docker.com/r/poma/docker-telegram-notifier первое в списке
оно на node js, использует 40 MB RAM, и подгружает CPU при каждом health check
Ighor
помоему слишком прожорливое для такой простой задачи
Vyacheslav
оно на node js, использует 40 MB RAM, и подгружает CPU при каждом health check
Ну напиши свой) так то нода лишь основа, а 40 мб это очень мало по текущим меркам, и что значит "подгружает ЦПУ"? Как бы любая программа подгружает ЦПУ
Vyacheslav
сделай хелс чек реже, не вижу проблемы
Vyacheslav
Ну напиши свой на питоне, или вообще на плюсах, раз уже такие критерии
Vyacheslav
Это готовое решение, его либо используешь, либо нет
Ighor
Ну напиши свой на питоне, или вообще на плюсах, раз уже такие критерии
на bash то же самое в 20 раз меньше ресурсов использует чем на node js https://github.com/JulyIghor/DockerEvents
Robocat
с HyperV мне все понятно, там главное ресурсов побольше. Зато все просто. Но конечно для автоматизаций аля GitLab это не подходит. Нельзя настроить ВМ из Хоста как это в докере
Robocat
Или можно?))
Robocat
@andruxann вам тоже вопрос выше если позволите)
Andrey
https://docs.docker.com/config/containers/resource_constraints/
Robocat
А можно еще тупой вопрос, а Куберы тогда зачем?...я понял что это своего рода балансировка докеров?
SarDigital
кубер это оркестрация
Robocat
кубер это оркестрация
а если для тупых?))
SarDigital
и это не против, а "с"
SarDigital
хреналиард контейнеров неудобно одним композом рулить, вот тут и появляется оркестратор
SarDigital
а кубер там или еще что - не важно
Robocat
а кубер там или еще что - не важно
Но если это все на одном железе зачем это надо?
Robocat
не на кластере?
Кластер же сначала создать надо. Не на кластере. Кластер это же разные сервера
SarDigital
ну вроде сам и ответил на свой вопрос
SarDigital
создать и масштабировать
SarDigital
глянь рекомендованные требования для кубера, там от трех мастеров
Andrey
Синглноду поднять никто не мешает
Robocat
у меня есть 3 железных сервера на Дебиан в разных ЦОДах, нельзя же так просто их в кластер объеденить?...кластер какой? по какому протоколу они общаться будут?...я так понял, речь идет об програмном кластере.
SarDigital
Синглноду поднять никто не мешает
тут как раз вопрос зачем
Andrey
Discovery, autoheal, helm, argocd whatever
SarDigital
за несколько лет появились удобные инструменты для кубов, вот как раз @andruxann написал про них
Robocat
http(s) обычно, теперь
ни в коем случае, гонять системный трафик по http протоколу это в 2-3 раза медленнее чем по ssh
Robocat
и не безопасно
SarDigital
tls
Robocat
tls
tls это шифрование
Robocat
Не только
http это всетаки открытый протокол, всем известный, сайты по нему работают. ssh закрытый, кощунство гонять системный трафик по http
Andrey
Кубер как и любой инструмент решает набор задач, поэтому вопрос должен звучать не "зачем мне кубер", а "какую задачу я хочу решить" для отправной точки тут все написано https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Andrey
А как минимум ещё и аутентификация
Robocat
Я лишь напомнил, что S в TLS это не только шифрование
а что это?...интересно, вообще спасибо, много интересных вещей узнаю
Robocat
Andrey
Между клиентом и сервером, очевидно
Robocat
Между клиентом и сервером, очевидно
разве в ssl такого не было разве?
Andrey
Это как-то влияет на то что tls это не только шифрование?
Robocat
я не сильно разбираюсь в сертификации. Но просто говорю о том что, как тут пишут куберы гоняют данные по http даже с tsl, это привет безопасникам посмеяться)
Robocat
Чтобы взломать http сервер не нобязятельно знать ключи шифрования, достаточно на эту точку входа пустить пэйлоад))