
Semyon
13.07.2016
14:27:20
Вот это поворот

Evgeny
13.07.2016
14:28:26
аватарка не канонична

Semyon
13.07.2016
14:29:33
То есть, к лицензии у тебя вопросов нет?

Алексей
13.07.2016
15:41:02
если комуто вдруг интересна тема хостинга запили отдельный канал под нее https://telegram.me/pro_hosting

Google

Алексей
13.07.2016
15:41:11
просто что бы туда всех отправлять.

yopp
13.07.2016
15:43:07
господи
ещё больше каналов

Алексей
13.07.2016
15:43:30
как показыает практика каналы до 300 человек не флеймят особо.
и обычно друг другу помогают
а на больших - типа ведопс. треш и угар.

Dan
13.07.2016
20:37:52


Alexander
14.07.2016
03:15:24
у меня есть вопрос к знатокам линукса (есть же тут такие?), которые умеют готовить grep awk...
у меня есть команда
alias stats="docker stats \$(docker ps | awk '{if(NR>1) print \$NF}')"
она запускает
docker stats
и там меняет id контейнеров на их имена...
мне хочется улучшить эту команду , вопрос - как именно это сделать (что конкретно написать в alias)?
улучшение такое: контейнеры называются project1-nginx-bla-bla-bla project1-uwsgi-bla-bla-bla project1-postgresql-bla-bla-bla, то есть в формате <имя_проекта><дефис><имя_сервиса_и_версия>, мне хочется, чтобы обновлённая команда
stats
группировала строчки по <имя_проекта>, то есть заменяла бы приведённые выше имена трёх контейнеров на project1, а справа от него суммировала бы нагрузку на CPU и объём занятой оперативной памяти и так далее... то есть команда - просто wrapper к docker stats и группирует контейнеры по проектам, выводя статистику по проекту
только без каких-либо скриптов на python/go.. просто средствами linux'а, как сделали бы бородатые админы... хочу просто скопипастить это в /root/.bashrc и пользоваться, без всяких зависимостей (а бэкап в Evernote)
и да, дефисов в названии может быть несколько (или не быть вовсе), имя проекта - это до первого дефиса или до конца строчки, если дефисов нет вообще


bama^boy
14.07.2016
05:45:33


Alexander
14.07.2016
05:53:05
тогда получается вот так
alias getstats="docker stats --no-stream \`docker ps --format \"{{.Names}}\"\` | gawk -f /root/file1.awk | column -t -s \$'\t'"
alias stats="while :; do clear; getstats; sleep 10; done"
сам скрипт такой https://dpaste.de/TO4L#L53

Google

bama^boy
14.07.2016
05:58:03
http://rancher.com/comparing-monitoring-options-for-docker-deployments/

Alexander
14.07.2016
05:58:35
у меня в закладках, ага
но это прямо вот самый простой вариант из коробки
только чуть-чуть поднастроили вывод стандартных команд в удобном виде

bama^boy
14.07.2016
06:02:02
имхо, лучше курлом дергать api, сделать dict {name: stats} и потом уже с ним манипулировать, у меня awk трюки вызывают отторжение)

Alexander
14.07.2016
06:03:33
да я согласен, можно всё красиво сделать на том же питоне
просто это тянет на отдельный проект

bama^boy
14.07.2016
06:04:13
получится такой же скрипт на пару десятков строк, только на питоне))

Alexander
14.07.2016
06:04:26
но питона по умолчанию в системе нет

bama^boy
14.07.2016
06:04:37
есть, что у тебя за система такая?

Alexander
14.07.2016
06:04:37
ну, не в каждой системе он есть
конкретно сейчас Ubuntu, тут есть, но в CoreOS не будет
хмм
а нет, всё правильно, есть python3 в Ubuntu
а просто python (2) уже убрали

bama^boy
14.07.2016
06:06:55
да даже в coreos без проблем ставится контейнер с питоном, сейчас без питона никуда

Alexander
14.07.2016
06:08:05
да, но как раз была цель - без всех этих лишних контейнеров
не, я как раз фанат питона)) я свой))
просто когда можно обойтись без установки всяких зависимостей ради просто ерундового отчёта, я постараюсь сделать как попроще
а то так будет, что затраты на поддержку контейнеров с каким-то там нужным мне софтом для мониторинга будут больше, чем польза от этой команды мониторинга

Google

bama^boy
14.07.2016
06:44:22
образ coreos весит 755M и там даже нет питона, что ж они туда напихали

Alexander
14.07.2016
06:46:36
rkt etcd fleet
какие-то свои штуки

Timur
14.07.2016
08:05:27
напиши простой скрипт на шелле без танцев вокруг алиасов
на 1-2 строчки

yopp
14.07.2016
09:40:45
китята, а кто на сиерре уже?
у вас в Security & Privacy как gatekeeper настроен? Anywhere?
(если оно было включено до апдейта до 10.12 то оно остаётся)

Алексей
14.07.2016
09:42:26
тут вроде анонс был что не работает докер на сьерре
с недельку назад

yopp
14.07.2016
09:43:55
там интересные подробности всплыли
https://forums.docker.com/t/build-hangs-on-macos-sierra-beta-2/17581/14

yopp
14.07.2016
09:44:30
I was able to get it everything working on a clean install of 10.12 Beta 2.
бля
ща начал послоям разбирать свои имаджи и короче chown на результате COPY вполне ожидаемо делает слой размером как COPY
как вообще такое обходят?
у меня в итоге два слоя по 60 метров :(

Evgeny
14.07.2016
11:33:46
Я готовлю права и id снаружи перед copy

yopp
14.07.2016
11:46:11
но вот, начинается препроцессинг :(
аргх

Google

Ivan
14.07.2016
11:47:27

Evgeny
14.07.2016
11:49:09

yopp
14.07.2016
11:50:21
и потом dockermake
и потом тридцать шаблонизаторов, тысячи говна

Evgeny
14.07.2016
11:52:08
можно добавлять из архива и в архиве хранить правильно файло

yopp
14.07.2016
11:52:54
да я в тимсити вобщем-то mv сделаю, мне не жалко

Evgeny
14.07.2016
11:53:33
Можно сделать подготовку файлов прямо перед запуском, в энтрипоинт

yopp
14.07.2016
11:53:52
не, мне надо на диету имаджи посадить

Evgeny
14.07.2016
11:53:59
Ну так они там и будут

Admin
ERROR: S client not available

yopp
14.07.2016
11:54:08
а, ты про chown
не, это не сильно большая проблема

Evgeny
14.07.2016
11:54:24
А ты о чем?

yopp
14.07.2016
11:54:35
да я больше о том что COPY говно, нет exclude

Evgeny
14.07.2016
11:54:52
Эмм.... .dockerignore ?

yopp
14.07.2016
11:57:20
не
мы уже говорили про это :)
у меня есть vendor/bundle
который собирается внутри проекта
мне надо вытащить его отдельным слоем

Google

Evgeny
14.07.2016
11:58:18
Я чтот пропустил видать или не понимаю просто о чем речь

yopp
14.07.2016
11:58:23
или если я запись которая есть в .dockerignore явно укажу в COPY оно сработает?
ну вот есть project-awesome. в нём там рельсовый апп и все зависимости. Зависимости лежат в project-awesome/vendor/bundle и меняются очень редко

Evgeny
14.07.2016
11:59:28
А, понял/вспомнил
Я короче хз как оно у тебя, но это выглядит плохим паттерном
У тебя откуда берется подготовленный вендор?

yopp
14.07.2016
12:02:46
готовится в тимсити шагом перед сборкой имаджа

Evgeny
14.07.2016
12:03:14
А зачем? Почему не в имадже?
Не в докере?

yopp
14.07.2016
12:03:34
уже обсуждали, там ряд сложностей с переносом в докер
плюс зависимости уже стоят в хост системе и бандлер не будет ходить в интернеты и тащить ещё 50 метров говна
так как они нужны были чтоб тесты прогнать

Evgeny
14.07.2016
12:05:04
Понятно. У меня эти все шаги в докере бо непонятно зачем держать что-то снаружи

yopp
14.07.2016
12:05:09
а это ещё пара лишних минут при сборке. плюс там жопа с тем чтоб нормально сделать инвалидацию

Evgeny
14.07.2016
12:05:19
И тесты и кеш сборки и ид

yopp
14.07.2016
12:05:23
это надо взять и сделать хеш от vendor/bundle и вот это всё

Evgeny
14.07.2016
12:05:43
Хеш берется автоматом когда копируешь

yopp
14.07.2016
12:05:54
я про делать в докере

R-omk
14.07.2016
12:05:59

Evgeny
14.07.2016
12:06:05
Нет конечно

yopp
14.07.2016
12:06:14
если я просто сделаю RUN bundle install то оно это дело закеширует
и либо —no-cache, но это дно