Dan
Главное не оборачиваться на взрыв сзади :)
Dan
было смешно, особенно про безопасность
Что только не сделаешь для вашего хорошего настроения :)
Albert
Я, конечно, понимаю, что подстебать человека, которому сложно понять предмет разговора — святое, но пожалуйста, разъясните тогда, что к чему, ибо ни одна статья не дала внятного ответа на вопрос — зачем, кроме того, что это модно
Ivan
Это удобно
Tadeusz
Незачем
Ivan
или нет
Ivan
всё зависит от тебя
Andrey
потому что смогли ;)
Andrey
Да никто вроде и не стебёт, но вот с безопасностью, ну как бе полегче выразится, не всё получилось по плану и не найти этого в первых же ссылках по теме, думаю будет не легко
Артём
документация по докеру дает все ответы
Ivan
и очень много вопросов
Dan
Да, он мне нафиг не нужен, но общее представление иметь все же хочется
Контейнерная изоляция с парадигмой "один процесс - один контейнер". Удобно для деплоя. В документации есть всё
Dan
и очень много вопросов
На которые там тоже есть ответы
bama^boy
Я, конечно, понимаю, что подстебать человека, которому сложно понять предмет разговора — святое, но пожалуйста, разъясните тогда, что к чему, ибо ни одна статья не дала внятного ответа на вопрос — зачем, кроме того, что это модно
Докер - это обёртка над функционалом ядра, чтоб удобней контейниризировать приложения. Можно сравнить с виртуалищацией, только на уровне операционной системы.
Aleksey
нельзя сравнить :)
bama^boy
нельзя сравнить :)
Аргументируй
Andrey
можно, я разрешил
bama^boy
Как раз с вм контейнеры чаще всего и сравнивают.
Dan
Но это нельзя сравнивать
Dan
Это глупость :)
Aleksey
Aleksey
потому что они похожи примерно ничем.
Aleksey
в одном случае эмуляция ассемблерных инструкций в другом случае вызов syscall
Aleksey
а сравнивают от непонимания методики изоляции
bama^boy
а сравнивают от непонимания методики изоляции
Я же написал выше, что на уровне операционной системы, а не железа. Самая частая задача при использовании и тех и других - изоляция. В случае с вм ты получишь лучшую изоляцию при худших показателях расходования ресурсов.
Aleksey
и нет это не желание макнуть. просто совсем плохо так сравнивать
bama^boy
Хорошо сравнивать, чтоб понять основные отличия.
bama^boy
Если человек понимает, как работает вм, то при сравнении, он поймёт, зачем используют докер. Аналогии хорошо помогают разобраться.
bama^boy
Вон тот же гугл и амазон от контейнеров уходят к микровм. Примеры проектов: https://firecracker-microvm.github.io/ используется в сервисах aws fargate и lambda https://github.com/google/gvisor
Aleksey
а вот тут уже корректно
Aleksey
но обрати внимание они разные....
bama^boy
В том же gvisor идёт сравнение с kvm, xen
Aleksey
и это разумно
Dan
рудокер познавательный
Dmitry
Вон тот же гугл и амазон от контейнеров уходят к микровм. Примеры проектов: https://firecracker-microvm.github.io/ используется в сервисах aws fargate и lambda https://github.com/google/gvisor
У них задачи чтобы злобные клиенты были посильнее изолированы)) понятно что кроме как KVM у них выбора нет. Ну либо свой kvm написать
Sanan
Ребят, знакомый задал вопрос про докер. Он пишет на плюсах и спрашивает : если его приложение запихнуть в докер, будет ли приложение из докера иметь доступ к ресурсам железа, в частности к видеокарте, например? У него приложение работает с видюшкой.
Dan
Это же не эмуляция железа
Артём
скорее всего приложение хочет напрямую писать в /dev
Sanan
Да, он читает и записывает в дев
Артём
тут вообще надо задать вопрос - а какая цель в запихивании приложения в докер? Докер ради докера?
Sanan
А в случае видеокарт нвидиа, напрямую через драйвер
Sanan
И можно ли в докер запихнуть драйвера нвидиа и чтоб они там работали
bama^boy
И можно ли в докер запихнуть драйвера нвидиа и чтоб они там работали
можно, я делал контейнер для raspberry pi, который запускал браузер с хардварной акселерацией
bama^boy
но проще это делать без контейнеров
Sanan
тут вообще надо задать вопрос - а какая цель в запихивании приложения в докер? Докер ради докера?
Ну чтобы все окружение было в контейнерах, все зависимости и тд. Чтобы не тащить все
Sanan
А в композе например прописать
LEXASOFT
https://github.com/NVIDIA/nvidia-docker
LEXASOFT
Первая ссылка в гугле
Alexey
коллеги, подскажите пожалуйста по поводу ограничения ресурсов. в докер композе версии 2 был параметр memswap_limit, но в версии 3 его убрали. как мне запретить залезать контейнеру в своп? получается никак?
bama^boy
https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details
Alexey
я про композ говорил. в доке написано Version 3 Designed to be cross-compatible between Compose and the Docker Engine’s swarm mode, version 3 removes several options and adds several more. Removed: volume_driver, volumes_from, cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit, extends, group_add
bama^boy
если ядро не поддерживает, то композ никак не поможет
Alexey
в той же доке про секцию деплой написано что есть вот такое version: '3' services: redis: image: redis:alpine deploy: replicas: 6 update_config: parallelism: 2 delay: 10s restart_policy: condition: on-failure
Alexey
вотучается только это и всё? остально отняли? ((
Alexey
в выводе $ docker info ни буквы про SWAP. могу привести тут но смысла наверное нету
Alexey
получается у меня нет никаких рычагов для того чтобы запретить контейнеру залезать в своп?
Alexey
спасибо. попробую
freezlite
привет котята, как в docker-compose run получить exit code ?
freezlite
всегда 0 возвращает, а опция --exit-code-from не подходит для run'а
freezlite
а ран мне нужен потому что опция —rm нужно я тесты гоняю в нем и логично ранить а не запускать
Roman
делай up, а потом rm руками
freezlite
😢
Roman
та ладно, в чем проблема
freezlite
run идеалогически правильней)
freezlite
up -d —exit-code-from вместе не работает
freezlite
а без -d он выводит логи других сервисом, мне это не нужно
freezlite
мне нужен лог только текущего сервиса
Roman
мне нужен лог только текущего сервиса
вообще доки говорят что exit code передается $ docker run busybox /bin/sh -c 'exit 3'; echo $? 3
Nikolay