Авторская информация о системном администрировании.
ps axf и посмотреть, что и с какими параметрами запущено. Либо любую другую утилиту - ls, top, awk и т.д.
Для работы с cdebug достаточно скачать один бинарник, написанный на GO. Идём в релизы и скачиваем для Linux архив cdebug_linux_amd64.tar.gz. Далее покажу на примере контейнера nginx.
# docker run --name nginx -d -p 8080:80 nginx
# docker exec -it nginx bash
# ps axf
bash: ps: command not found
В образе нет ps. Подключаемся через cdebug:
# cdebug exec -it nginx
# ps axf
PID USER TIME COMMAND
1 root 0:00 nginx: master process nginx -g daemon off;
28 nginx 0:00 nginx: worker process
29 nginx 0:00 nginx: worker process
30 nginx 0:00 nginx: worker process
31 nginx 0:00 nginx: worker process
39 root 0:00 sh /.cdebug-entrypoint.sh
47 root 0:00 sh
48 root 0:00 ps axf
Посмотрели список процессов. При этом исходный контейнер не перезапускается, к нему не подключаются никакие volumes, корневая файловая система cdebug та же самая, что и у контейнера. Работает cdebug на базе busybox.
Кроме подключения к контейнеру, cdebug может на ходу опубликовать порты контейнера, которые не были опубликованы при запуске. Принцип работы программы описан в репозитории, но если честно, я не очень понял полную реализацию.
⇨ Исходники
#docker #devops# docker run -d --restart=always -p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma louislam/uptime-kuma:1
Публичные Demo:
⇨ https://demo.uptime.kuma.pet:27000/
⇨ https://demo.uptime-kuma.karimi.dev:27000/
При обращении для вас будет создан персональный сервер мониторинга, который вы сможете попробовать в течении 10 минут.
Uptime Kuma по функционалу сильно похожа на сервис freshping.io, которым лично я активно пользуюсь. Много проверок там настроил в рамках бесплатного тарифа. Рекомендую 👍
⇨ Исходники
#мониторингdocker export, но опять же, команда работает только с запущенным контейнером, так как требуется в качестве аргумента передать ID контейнера. Но есть небольшой трюк, который позволит не запуская контейнер сделать его export. По сути мы сможем посмотреть image.
Вместо привычного и повсеместно используемого docker run можно сделать вот так:
# docker pull wordpress
# docker create wordpress
Вы получите ID контейнера, но он не будет запущен. Теперь его можно сдампить в архив:
# docker export dce4c5f675fb -o wordpress.tar.gz
Вот и всё. Контейнер можно удалить. Сделали его дамп, не запуская. Суть в том, что docker run на самом деле состоит из docker create и docker start, но так как все привыкли использовать сразу docker run, эта информация не особо распространена.
#docker #devops