Образ CLI
Образ өзін қалай іске қосу керегін біледі: docker run соңына пәрмен жазудың қажеті жоқ — әдепкіде сервер көтеріледі. Аргумент тек пәрменді ғана алмастырады, сондықтан бір реттік операция табиғи оқылады — docker run … IMAGE restore.
Жұмыс істеп тұрған контейнерге операторлық пәрмендер docker exec арқылы, қысқа атаулармен беріледі:
docker exec notarium backup
docker exec -it notarium admin list
Пәрмендер
| Пәрмен | Не істейді | Әдетте қалай шақырылады |
|---|---|---|
start | HTTP/MCP-серверді PID 1 ретінде іске қосады | Образдың әдепкі пәрмені |
backup | Тексерілген онлайн-ZIP-ті ағынмен береді | docker exec notarium backup және runbook ішіндегі қауіпсіз жариялау тәртібі |
backup verify | Архивті ештеңені өзгертпей тексереді | docker exec -i notarium backup verify < файл |
restore | Архивті бос деректер түбіріне орнатады | Жаңа томдағы бір реттік контейнер |
admin | Рұқсатты интерфейстен тыс қалпына келтіреді | docker exec -it notarium admin … |
healthcheck | Жергілікті /api/health-ты сұрайды | Docker-дегі HEALTHCHECK |
version | Нұсқа, коммит, жинақ уақыты және бастапқы кодқа сілтеме (скрипттер үшін --json) | Қолдау және үйлесімділікті тексеру |
help / --help | CLI-ды немесе нақты бір пәрменді сипаттайды | Кез келген контейнер |
start алдыңғы планда қалады, сондықтан контейнердің сигналдары серверге тікелей жетеді — docker stop оны дұрыс тәртіппен тоқтатады. Тоқтату мен қайта қосу пәрмендері әдейі жоқ: бұл — оркестратордың ісі. Схема миграциялары іске қосу кезінде қолданылады, оларды бөлек пәрменмен жүргізудің қажеті жоқ.
Ағындар мен шығу кодтарының келісімі
- Ағындық режимде (
--outputжоқ кезде)backupstdout-қа тек ZIP байттарын береді; диагностика мен қорытынды түйіндеме stderr-ге кетеді.--output FILEберілсе, архив файлға жазылады да, stdout-қа бір ғана JSON-түйіндеме шығады — оны.zip-ке бағыттамаңыз, ол жерде архив болмайды. backup verify,restoreжәнеadmin-нің интерактивті емес пәрмендері нәтижесін stdout-қа басып шығарады.- Қателер stderr-ге кетеді және нөлдік емес код қайтарады. Белгісіз пәрмендер, белгісіз опциялар, қайталанған опциялар және мәні жоқ опциялар үнсіз еленбей қалмайды — қатемен тоқтайды.
- Docker-дегі канондық тасымал — stdin мен stdout.
backup-тағы--output FILEпенverify/restore-дағы--input FILEжұбы — контейнерге каталог бұрыннан көрініп тұрған жағдайлар үшін.--output-тың бір жағымды қыры бар: пәрмен уақытша файлға өзі жазады, архивті тексереді және оны ештеңені қайта жазбай, атомарлы түрде жариялайды — сондықтан shell-орауыш жазудың қажеті болмайды. - Әр пәрменнің
--help-і бар;notarium --version—notarium version-мен бірдей.
Жинақ бірегейлігі
version сізде дәл не жұмыс істеп тұрғанын басып шығарады — үйлесімділік туралы кез келген әңгіме де, кез келген жаңарту да осыдан басталады:
docker run --rm docouno/notarium:latest version
docker compose exec notarium version --json
version --json дәл сол мәліметті бір объектімен береді — version, commit, builtAt және source (бастапқы кодтың нақты ревизиясына сілтеме), — сондықтан «не орналастырылған» деген тексеруді тікелей деплойға қоюға болады. Жинақта шынымен жоқ нәрсе null болып қайтады: мәндер ойдан шығарылмайды, оларға сүйенуге болады. Дәл сол ақпарат интерфейсте де көрінеді — Settings → About.
Жарияланған нұсқа тегі әрқашан бір нақты образды білдіреді: :0.1.0 басқа жинаққа көшпейді. Сондықтан өнімдік ортада :latest-ке емес, нақты нұсқаға бекітіліңіз. Жарияланатын образ linux/amd64 үшін жиналады; басқа архитектураларда бастапқы кодтан жинаңыз.
Күй тексеруі
healthcheck нөлдік кодты тек жергілікті /api/health эндпоинті «сау» деп жауап бергенде ғана қайтарады. Ол Docker-дегі HEALTHCHECK директивасына және оркестратордың тексеру пробаларына арналған — бұл үшін сыртқы тәуелділіктер де, хосттағы curl да қажет емес.
Рұқсатты қалпына келтіру
admin — хосттағы оператор шекарасы. Парольді ауыстырудың әдеттегі жолдары қолданбаның өзінде бар (өз паролін — интерфейсте, басқаның паролін — әкімшінің бір реттік сілтемесі арқылы). CLI арқылы басқа нәрсе қолжетімді: ағымдағы парольді көрсетпей-ақ парольді мәжбүрлеп орнату және әкімшіні қолданбадан тыс жолмен тағайындау. Бұл екі операция үшін HTTP-жол әдейі жоқ — көрсетер ештеңе жоқ, сондықтан олар тек хостқа қолжетімділігі бар адамның қолында.
docker compose exec notarium admin list
docker compose exec notarium admin create-admin <user> --random
Пәрмендердің толық тізімі мен олардың мағынасы — Аутентификация бетінде.
Әрі қарай
- Сақтық көшірме және қалпына келтіру —
backup,backup verifyжәнеrestoreүшін runbook. - Аутентификация —
adminне істей алады және ол қашан керек. - Орнату — образды іске қосу және деректер томы.