Jürgen
так работает топ
Jürgen
%CPU -- CPU Usage : The percentage of your CPU that is being used by the process. By default, top displays this as a percentage of a single CPU. On multi-core systems, you can have percentages that are greater than 100%. For example, if 3 cores are at 60% use, top will show a CPU use of 180%. See here for more information. You can toggle this behavior by hitting Shifti while top is running to show the overall percentage of available CPUs in use.
🤔
да я вкурсе
🤔
сказал же
Jürgen
ну тогда к чему вопрос про 60 процентов ну нагжуен чуть если LA не улетает в потолок то и норм
🤔
просто показалось что демон сжирает больше чем должен
🤔
все ладно
Anonymous
AstraSerg
Anonymous
Чето не могу разобраться...
Вот например image wordpress ( https://hub.docker.com/_/wordpress/ ).
Как понять по какому dockerfile он собирается?
Мельком глянул сорцы ( https://github.com/docker-library/wordpress ), но все равно не могу понять по какому пути/алгоритму он собирается.
Например, image wordpress:latest по каким Dockerfile будет собираться из этого гитхаб репозитория?
Anonymous
В корне там 3 файла:
Dockerfile-alpine.template
Dockerfile-cli.template
Dockerfile-debian.template
Anonymous
Navern
Navern
собирается из докерфайлов в папках
Jürgen
Navern
(нужно смотреть .travis-ci)
Navern
для каждой из версий свой докерфайл
Jürgen
wordpress:<version>-alpine —> алпайн ттемплейт
wordpress:<version> —> дебиан
Jürgen
Anonymous
В риди написано 😂
Ну не. Я ожидал, что будет указано по какому dockerfile image собирается. Это совсем неочевидно
Anonymous
Rustam
Rustam
в простейшем виде как-то так
ENTRYPOINT /bin/sh -c "echo \"$(ip route|awk '/default/ { print $3 }') docker-host\" >> /etc/hosts && nginx -g 'daemon off;'"
Rustam
Смотрите. На каждой ноде запущен, например, логстеш обычным контейнером, не сервисом. Все эти контейнеры соединены с оверлейной сеткой. На каждой свармовой ноде находится какой-то нагруженный сервис, который должен писать строго в свой логстеш, чтобы знать, откуда идут логи. Проблема в том, что часть сервисов умеет писать только в stdout, а части нужно указать адрес сислога.
тут напрашиваются поды и, соответственно, k8s )
Igorь
А k8s можно закастомить по самое нехочу? Типа включить 2 балансировщика, прописать одному из них, как перенаправлять запросы с одного контейнера на другой (не сервиса, а контейнера). При этом 90% сервисов - Stateful и Ceph не вариант из-за скорости.
Rustam
можно, но будет непросто ))
Igorь
примерно так же, как со свармом
Rustam
гибкости больше на порядки, но порог вхождения очень высок, как и накладные расходы на поддержку инфраструктуры. Имхо сворм подходит для небольших и не очень сложных проектов, а k8s - для больших и сложных
Rustam
просто свормовский подход к решению вашей задачи - для каждого логстеша сделать отдельный сервис, обеспечить запуск логстешей с компонентами приложения посредством ограничений (constraints). Что, конечно, не красиво и не слишком удобно
Rustam
есть вот такой костыль https://github.com/rycus86/podlike, но до прода он не дорос
Max xbim 🌴
Rustam
global нам обеспечит запуск таск на всех нодах, подходящих под ограничение. Но остаётся вопрос как нам объяснить приложению в кластере - например nginx - куда писать свои логи. Сам ищу красивое(масштабируемое, удобное) решение, но не находится (
Igorь
не. научить это делать можно. Не так сложно. Запускать логстеш не сервисом, а именно контейнером на каждой тачке нужно хотя бы для того, чтобы слушался локалхост, а не весь мир.
Rustam
ну вот в моём понимании это некрасивое решение, поскольку логстеши придётся деплоить отдельно
Rustam
так-то можно их конечно анзиблом раскатать и подставить костыль для получения хоста в контейнере
Igorь
да чем угодно их можно раскатать, но проще в том же сварме
Igorь
в смысле - иметь сервис, который подымает контейнеры
Igorь
А как приложению сказать, куда писать свои логи - не всегда проблема. Контейнеры в оверлейной сети находятся под балансировкой, не зависимо от того, сервисы это или нет. Если нескольким джинксам надо писать свои логи, пусть пишут в любой (то, что есть балансировка и она не оптимальна - это плата за устойчивость: если есть хотя бы один логстеш, то логи приходить будут). Либо можно писать логи в stdout, а демону докера сказать их перенаправлять в localhost:<LOGSTASH_PORT>
Никита
Добрый вечер. Вот есть у меня teamcity, который строит новый image для каждого нового коммита в git и пулит в локальный регистр. Понятное дело, что если каждый раз строить новый image, то все место быстро забьется. Есть ли у Docker какая-либо возможность сохранять 1 image, а далее только новые изменения или до каждого будет свой полновесный image?
Max xbim 🌴
стараться максимально переиспользовать одинаковые слои
Никита
Я пока что слабо разбираюсь в терминологии. Слои - это результат каждой команды в Dockerfile?
Max xbim 🌴
да тип того. одинаковые слои не дублируются в registry
Navern
Никита
да тип того. одинаковые слои не дублируются в registry
Хорошо. Не знаю как выразиться... А что на счет копирования каталогов в image? Он также будет это делать или просто возьмет результат предыдущего построения? Получается, что, если максимально делать слои изолированными и сохранять память, то копирования и построение проекта следует делать самыми последними шагами?
Navern
Navern
редко меняющиеся части в начало, часто меняющиеся части в конец
Alexander
Никита
꧁Aleksey
всем привет! мне для заббикс контейнеров требуется curl, но он в дефолтовом контейнере отсутствует, image был пересобран с исходников и добавлен curl...Вопрос в том, что в контейнере отсутствует rpm&yum, может кто-то подскажет, как можно решить вопрос без пересборки? спасибо
Navern
꧁Aleksey
имеется скрипт, в нём используется мной собранный образ , но при обновлении версии мне придётся вновь пересобирать образ для того, что б там был curl
꧁Aleksey
вот скрипт
Tadeusz
прекрасное чтиво, осталось только обернуть в `
꧁Aleksey
файлик могу скинуть)))
꧁Aleksey
꧁Aleksey
Tadeusz
теперь поздно, ты забанен.
Dan
Нет конечно, но на будущее лучше такие куски кода отправлять либо в виде файлов, либо на pastebin какой-нибудь
꧁Aleksey
согласен
Andrey
подскажите как в docker изменить сеть? Сколь не ищу, все говорят проще новую создать.. Мне всего лишь проставить gateway на дефолтный бридж
Jürgen
manefesto
как можно нормально скопировать несколько папок в dockerfile?
использую COPY auth assets /code/, но он копирует только содержимое, голову сломал уже
manefesto
Особенно вот это убивает
Note: The directory itself is not copied, just its contents.
F_I_N
Ребята привет, понимаю изврат юзать доккер в винде, но политика есть политика. Короче вопрос - Все контейнеры поднимается, волум тоже подрубается норм. БД миграции накатывает, его сторадж натравлен на volume. Все работает, но данные на volume не остаются после остановки доккера. ТО есть каждый раз при старте БД пустое. В линуксе все ок, как бы все на волуме лежит и не пропадает, а тут какая та ms магия видимо. Может кто-то сталкивался и знает рецепт решения? Спасибо.
manefesto
я на 10ке проверял
manefesto
вроде норм
Max xbim 🌴
F_I_N
миграции норма накатываются я через PG admin лезу, все есть. Ну и если бы чисто в нем была проблема, то в линуксе бы тоже каждый раз миграции накатывались.
Max xbim 🌴
а на композ на линуксе идентичный?
Kana
F_I_N
да, сек
Igorь
А консул со свармом норм дружит?