G72K
И вообще знать о формате имаджа не к чему
Aleksey
не завязываюсь. просто нужные мне данные есть только в одном слое
G72K
Еще специфичнее :)
Aleksey
нет как раз нет
Aleksey
там по формату они будут только в одном слое
G72K
Это если вы аккуратно RUN в докерфайле используете
Aleksey
с удовольствие продолжу дискус при наличии примеров
G72K
Возможно я не понимаю этот однострочник
Aleksey
докер формат описан и довольно стандартен
Aleksey
там перебор идет всех слоёв
Aleksey
каждый слой хранится как хеш/layer.tar ...
Aleksey
я тот раз когда это херачил знатно потрахался с этим
G72K
Ну значит правильно понимаю. Где гарантия что эти слои по порядку? Их точный порядок описан в json, но вы его не читаете. Вы завязываетесь на частный случай, что у вас данные в одном слое из всех. Но чтобы это сломать достаточно сделать второй RUN внутри докерфайла, который бы дозаписывал скажем в нужные вам каталоги
Aleksey
еще раз. буду рад продолжить увидев конкретику.
Aleksey
у меня не получилось достать не то :)
G72K
я тот раз когда это херачил знатно потрахался с этим
Хорошо, что потрахались, жаль не навело на мысли что лезть руками в формат образов не стоит :) вы же не парсите tar при помощи od, bc и dd
Aleksey
я не претендую что оно идеальное просто docker run мне не нравится
Aleksey
давайте ка я попробую воспроизвести кейс который вы имеете ввиду
Aleksey
FROM alpine:latest RUN touch /tmp/1 RUN touch /tmp/2
Aleksey
так ?
Aleksey
по вашей логике на выходу будет только 1 или только 2 ?
G72K
по вашей логике на выходу будет только 1 или только 2 ?
Нет, записывайте в один и тот же файл
G72K
RUN date > /tmp/seed RUN echo A > /tmp/file RUN echo B >/tmp/file
G72K
Потом пересобирайте и доставайте файл, в разных сборках будет разное . Зависит от того как tar выдает слои. Если по алфавиту как ls по умолчанию, то будет разные результаты. Если в порядке добавления в архив вовремя docker save, то будет ОК.
Aleksey
% cat Dockerfile FROM alpine:latest RUN date > /tmp/file; sleep 1 RUN date » /tmp/file; sleep 1 RUN date » /tmp/file; sleep 1 RUN date » /tmp/file; sleep 1 RUN date » /tmp/file; sleep 1
Aleksey
cat tmp/file Thu Nov 23 21:47:10 UTC 2017 Thu Nov 23 21:47:12 UTC 2017 Thu Nov 23 21:47:14 UTC 2017
Aleksey
повторный прогон после rmi дает 4 записи.
Aleksey
согласен. мой вариант ограничено годен.
kevit
@freeseacher со слоями очень элегантно, 👍
kevit
была такая штука squash , она как раз на save/load была завязана
kevit
вроде ее собирались даже в мейнстрим вносить
G72K
Господа, в удивительном мире микросервисов кто как решает вопрос аутентификации и авторизации, если хочется чтобы никто никому не доверял? Какие слова гуглить?
Anatoliy
сам сейчас с этим разбираюсь, так что за полезные ссылки тоже буду благодарен)
G72K
И что JWT. Это просто формат описания токена.
Anatoliy
ну так да, и при этом расшифроват ьего может только тот кому ты позволишь, вот тебе никто никому не доверяет
G72K
Вы про JWE, JWT любой прочитать может. Не в этом сложность, сложность над которой думаю: как эти токены получать, от кого? Какой то центральный сервис? Каждый микросервис сам? Передавать один и тот же токен по цепочке вызовов или нет? Если передавать и есть какая нибудь Kafka,его что, в сообщение добавлять? А если оно будет обработано когда токен протухнет? Кто то умный должен был уже все описать и записать, только найти не могу :(
Anatoliy
Вы про JWE, JWT любой прочитать может. Не в этом сложность, сложность над которой думаю: как эти токены получать, от кого? Какой то центральный сервис? Каждый микросервис сам? Передавать один и тот же токен по цепочке вызовов или нет? Если передавать и есть какая нибудь Kafka,его что, в сообщение добавлять? А если оно будет обработано когда токен протухнет? Кто то умный должен был уже все описать и записать, только найти не могу :(
я для себя решил что у меня может быть группа микросервисов которая занимается только и исключительно аутентификацией. т.е. подтверждает валидность токена, может его расшифровать и выдать по запросу. Оно дергается "роутером", который потом дальше перенаправляет запрос уже в сервисы которые и должны работать. При этом эти сервисы этим данным верят. Единственное исключение - сервисы для работы с финансами когда придет время могут перезапросить выдачу токена для проверки
Anatoliy
Да, правда этих центральных может быть дофига и больше, потмоу что база им не нужна, они просто расшифровывают то что им выдают и отдают обратно. Так что это не является узким местом. Но база есть - сверка по паролю может быть тоже, но в этом случае как раз тот самый токен и выдается, он же пишется в куки и потом расшифровывается на каждый чих при необходимости
Anatoliy
в самом токене зашифровано что челвоек может оставлять сообщения, вот когда он этот токен отдает сервис и смотрит - срок его действия и что он может. если срок прошел - он его переписывает и клиенту уходит новый токен. если срок не закончен - то просто расшифровка и возврат сервису маршрутизации который его пихнет дальше в рабочий сервис
Anatoliy
если же мы считаем что там косяк и нас ломанули - все сервисы просто используют другой ключ и все обращения перезаписываются по новой, т.е. каждого спросят про пароль и запишут токены по новой.
Alex
Парни вопрос про raid. есть 10 Hdd дисков, Потеря места до 50% не критична. Нужно выбрать уровень программного raid , что выиграть в ускорения чтения/записи и надежности . При это чтобы, если сдохнет диск, не пришлось долго и муторно восстанавливать с вероятность так восстановить, чтобы все сдохло)
Александр
😄
Alex
)))
Александр
Рейд это не бэкап. У меня все.
Alex
спасибо. проблема решена
Alex
))
Alex
никто не говорит про бекап))) это отдельно. речь про непрерывную работу
Alex
хочется так. упал диск. вырвал его плоскагубцами и припаял паяльником новый)))
Alex
))) ну это я юморю) не стоит буквально воспринимать)
Alex
так вот какой уровень рейд выбрать
Alex
просто вроде как raid10, производительно вроде как RAID 6 Но позодреваю восстановление может быть сложным.
Alex
про 50 страшно подумать хотя очень заманчиво.
Dmitry
нет, 5й это пиздос
Dmitry
10ка быстрее да
Dmitry
10ка всем хороша, кроме зверской избыточности
Alex
ну избыточность в моем случае не критично. у меня получается 60 терабайт всего. останется 30 для работы. надо 15)
Andrew
10ка при вылете 2х винтов с вероятностью 11% умирает. 6ка - при вылете 2х винтов - живет
Alex
получается золотая середина это 10 ?
Dmitry
и как просест?
Andrew
Ну когда-нибудь отребилдится
Dmitry
бывает что менее больно, выкинуть один винт, вставить новый и подняться из бекапа
Dmitry
чем терпеть еле работающий трое суток сервер
Alex
запутали)
Alex
лучше конечно без бекапов обойтись (они то есть). Если предложить что о проблеме погибшшего винта стало известно почти сразу и винт поменяют в течении часа, то я так понимаю лучше рейд 10:
Alex
?
Alex
вероятность подыхания двух винтов за раз мне кажеться очень маловероятно и тут уже можно делать ставку на бекап.
Dmitry
я бы подождал граждан, у которых более одного сервера в эксплутации и послушал что они еще скажут )
Andrew
С учетом того что контроллера у тебя нет - софтовый RAID6 я бы делать не стал, так что без вариантов