G72K
G72K
И вообще знать о формате имаджа не к чему
Aleksey
не завязываюсь. просто нужные мне данные есть только в одном слое
G72K
Еще специфичнее :)
Aleksey
нет как раз нет
Aleksey
там по формату они будут только в одном слое
G72K
Это если вы аккуратно RUN в докерфайле используете
Aleksey
с удовольствие продолжу дискус при наличии примеров
G72K
Возможно я не понимаю этот однострочник
Aleksey
докер формат описан и довольно стандартен
Aleksey
там перебор идет всех слоёв
Aleksey
каждый слой хранится как хеш/layer.tar ...
Aleksey
я тот раз когда это херачил знатно потрахался с этим
G72K
Ну значит правильно понимаю. Где гарантия что эти слои по порядку? Их точный порядок описан в json, но вы его не читаете. Вы завязываетесь на частный случай, что у вас данные в одном слое из всех. Но чтобы это сломать достаточно сделать второй RUN внутри докерфайла, который бы дозаписывал скажем в нужные вам каталоги
Aleksey
еще раз. буду рад продолжить увидев конкретику.
Aleksey
у меня не получилось достать не то :)
Aleksey
я не претендую что оно идеальное просто docker run мне не нравится
Aleksey
давайте ка я попробую воспроизвести кейс который вы имеете ввиду
Aleksey
FROM alpine:latest
RUN touch /tmp/1
RUN touch /tmp/2
Aleksey
так ?
Aleksey
по вашей логике на выходу будет только 1 или только 2 ?
G72K
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
вроде ее собирались даже в мейнстрим вносить
Deleted
Oleksandr
G72K
Господа, в удивительном мире микросервисов кто как решает вопрос аутентификации и авторизации, если хочется чтобы никто никому не доверял? Какие слова гуглить?
Anatoliy
Anatoliy
сам сейчас с этим разбираюсь, так что за полезные ссылки тоже буду благодарен)
G72K
И что JWT. Это просто формат описания токена.
Anatoliy
ну так да, и при этом расшифроват ьего может только тот кому ты позволишь, вот тебе никто никому не доверяет
G72K
Вы про JWE, JWT любой прочитать может. Не в этом сложность, сложность над которой думаю: как эти токены получать, от кого? Какой то центральный сервис? Каждый микросервис сам? Передавать один и тот же токен по цепочке вызовов или нет? Если передавать и есть какая нибудь Kafka,его что, в сообщение добавлять? А если оно будет обработано когда токен протухнет? Кто то умный должен был уже все описать и записать, только найти не могу :(
G72K
Anatoliy
Да, правда этих центральных может быть дофига и больше, потмоу что база им не нужна, они просто расшифровывают то что им выдают и отдают обратно. Так что это не является узким местом. Но база есть - сверка по паролю может быть тоже, но в этом случае как раз тот самый токен и выдается, он же пишется в куки и потом расшифровывается на каждый чих при необходимости
G72K
Anatoliy
в самом токене зашифровано что челвоек может оставлять сообщения, вот когда он этот токен отдает сервис и смотрит - срок его действия и что он может. если срок прошел - он его переписывает и клиенту уходит новый токен. если срок не закончен - то просто расшифровка и возврат сервису маршрутизации который его пихнет дальше в рабочий сервис
Anatoliy
если же мы считаем что там косяк и нас ломанули - все сервисы просто используют другой ключ и все обращения перезаписываются по новой, т.е. каждого спросят про пароль и запишут токены по новой.
G72K
Alex
Парни вопрос про raid. есть 10 Hdd дисков, Потеря места до 50% не критична. Нужно выбрать уровень программного raid , что выиграть в ускорения чтения/записи и надежности . При это чтобы, если сдохнет диск, не пришлось долго и муторно восстанавливать с вероятность так восстановить, чтобы все сдохло)
Александр
😄
Alex
)))
Александр
Рейд это не бэкап. У меня все.
Alex
спасибо. проблема решена
Alex
))
Dmitry
Alex
никто не говорит про бекап))) это отдельно. речь про непрерывную работу
Alex
хочется так. упал диск. вырвал его плоскагубцами и припаял паяльником новый)))
Navern
Alex
))) ну это я юморю) не стоит буквально воспринимать)
Dmitry
Alex
так вот какой уровень рейд выбрать
Alex
просто вроде как raid10, производительно вроде как RAID 6 Но позодреваю восстановление может быть сложным.
Alex
про 50 страшно подумать хотя очень заманчиво.
Dmitry
нет, 5й это пиздос
Andrew
Dmitry
10ка быстрее да
Dmitry
10ка всем хороша, кроме зверской избыточности
Alex
ну избыточность в моем случае не критично. у меня получается 60 терабайт всего. останется 30 для работы. надо 15)
Andrew
10ка при вылете 2х винтов с вероятностью 11% умирает. 6ка - при вылете 2х винтов - живет
Alex
получается золотая середина это 10 ?
Dmitry
Dmitry
и как просест?
Andrew
Ну когда-нибудь отребилдится
Dmitry
бывает что менее больно, выкинуть один винт, вставить новый и подняться из бекапа
Dmitry
чем терпеть еле работающий трое суток сервер
Alex
запутали)
Alex
лучше конечно без бекапов обойтись (они то есть). Если предложить что о проблеме погибшшего винта стало известно почти сразу и винт поменяют в течении часа, то я так понимаю лучше рейд 10:
Alex
?
Alex
вероятность подыхания двух винтов за раз мне кажеться очень маловероятно и тут уже можно делать ставку на бекап.
Dmitry
я бы подождал граждан, у которых более одного сервера в эксплутации и послушал что они еще скажут )
Andrew
С учетом того что контроллера у тебя нет - софтовый RAID6 я бы делать не стал, так что без вариантов