Update file 13-maintenance.md

This commit is contained in:
Administrator 2026-03-20 16:42:43 +05:00
parent 084f1fd41b
commit be03e64f46

View File

@ -24,41 +24,41 @@
**Ручное обновление:** **Ручное обновление:**
&&&bash ```bash
apt update apt update
apt list --upgradable # посмотреть список apt list --upgradable # посмотреть список
apt upgrade -y # обновить пакеты apt upgrade -y # обновить пакеты
apt autoremove -y # удалить ненужные зависимости apt autoremove -y # удалить ненужные зависимости
&&& ```
**Автоматические обновления безопасности:** **Автоматические обновления безопасности:**
На всех хостах следует настроить `unattended-upgrades`: На всех хостах следует настроить `unattended-upgrades`:
&&&bash ```bash
apt install unattended-upgrades apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades # включить автоматические обновления dpkg-reconfigure --priority=low unattended-upgrades # включить автоматические обновления
&&& ```
Конфигурация `/etc/apt/apt.conf.d/50unattended-upgrades` должна содержать: Конфигурация `/etc/apt/apt.conf.d/50unattended-upgrades` должна содержать:
&&& ```
Unattended-Upgrade::Allowed-Origins { Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security"; "${distro_id}:${distro_codename}-security";
}; };
Unattended-Upgrade::Automatic-Reboot "false"; Unattended-Upgrade::Automatic-Reboot "false";
&&& ```
### Обновление Proxmox ### Обновление Proxmox
Proxmox обновляется через стандартный `apt`, но после обновления ядра требуется перезагрузка. Желательно планировать перезагрузку гипервизора в окно обслуживания. Proxmox обновляется через стандартный `apt`, но после обновления ядра требуется перезагрузка. Желательно планировать перезагрузку гипервизора в окно обслуживания.
&&&bash ```bash
apt update apt update
apt dist-upgrade -y apt dist-upgrade -y
pveversion -v # проверить версию pveversion -v # проверить версию
reboot reboot
&&& ```
--- ---
@ -66,34 +66,34 @@ reboot
### Просмотр текущих версий ### Просмотр текущих версий
&&&bash ```bash
docker ps --format "table {{.Image}}\t{{.Names}}" docker ps --format "table {{.Image}}\t{{.Names}}"
&&& ```
### Обновление образа ### Обновление образа
1. Остановить контейнер: 1. Остановить контейнер:
&&&bash ```bash
docker stop <container> docker stop <container>
&&& ```
2. Удалить контейнер (если не используется `--rm`): 2. Удалить контейнер (если не используется `--rm`):
&&&bash ```bash
docker rm <container> docker rm <container>
&&& ```
3. Обновить образ (если используется тег `latest`): 3. Обновить образ (если используется тег `latest`):
&&&bash ```bash
docker pull <image>:latest docker pull <image>:latest
&&& ```
Или загрузить фиксированную версию. Или загрузить фиксированную версию.
4. Запустить контейнер заново (обычно через `docker-compose up -d`). 4. Запустить контейнер заново (обычно через `docker-compose up -d`).
### Обновление через docker-compose ### Обновление через docker-compose
&&&bash ```bash
cd /path/to/service cd /path/to/service
docker-compose pull docker-compose pull
docker-compose up -d --remove-orphans docker-compose up -d --remove-orphans
&&& ```
### Рекомендация ### Рекомендация
@ -108,12 +108,12 @@ docker-compose up -d --remove-orphans
В `docker-compose.yml` указывайте конкретную версию образа вместо `latest`. Пример: В `docker-compose.yml` указывайте конкретную версию образа вместо `latest`. Пример:
&&&yaml ```yaml
services: services:
npm: npm:
image: jc21/nginx-proxy-manager:2.12.3 # вместо :latest image: jc21/nginx-proxy-manager:2.12.3 # вместо :latest
# ... # ...
&&& ```
Актуальные версии можно найти в документации сервисов или на Docker Hub. Актуальные версии можно найти в документации сервисов или на Docker Hub.
@ -121,10 +121,10 @@ services:
Для важных компонентов (например, ядро, Docker, базы данных) можно фиксировать версии с помощью `apt-mark hold`: Для важных компонентов (например, ядро, Docker, базы данных) можно фиксировать версии с помощью `apt-mark hold`:
&&&bash ```bash
apt-mark hold docker-ce apt-mark hold docker-ce
apt-mark unhold docker-ce # когда нужно обновить apt-mark unhold docker-ce # когда нужно обновить
&&& ```
--- ---
@ -134,21 +134,21 @@ apt-mark unhold docker-ce # когда нужно обновить
Логи в `/var/log` ротируются автоматически (`logrotate`). Проверить конфигурацию: Логи в `/var/log` ротируются автоматически (`logrotate`). Проверить конфигурацию:
&&&bash ```bash
cat /etc/logrotate.conf cat /etc/logrotate.conf
&&& ```
Принудительная ротация логов: Принудительная ротация логов:
&&&bash ```bash
logrotate -f /etc/logrotate.conf logrotate -f /etc/logrotate.conf
&&& ```
### Логи Docker ### Логи Docker
Docker логи по умолчанию не ротируются, но можно настроить их ограничение в `/etc/docker/daemon.json`: Docker логи по умолчанию не ротируются, но можно настроить их ограничение в `/etc/docker/daemon.json`:
&&&json ```json
{ {
"log-driver": "json-file", "log-driver": "json-file",
"log-opts": { "log-opts": {
@ -156,13 +156,13 @@ Docker логи по умолчанию не ротируются, но можн
"max-file": "3" "max-file": "3"
} }
} }
&&& ```
После изменения перезапустить Docker: После изменения перезапустить Docker:
&&&bash ```bash
systemctl restart docker systemctl restart docker
&&& ```
### Временные файлы ### Временные файлы
@ -174,17 +174,17 @@ systemctl restart docker
### Удаление неиспользуемых образов, контейнеров, томов ### Удаление неиспользуемых образов, контейнеров, томов
&&&bash ```bash
docker system prune -a -f # удалить всё неиспользуемое docker system prune -a -f # удалить всё неиспользуемое
docker volume prune -f # удалить неиспользуемые тома docker volume prune -f # удалить неиспользуемые тома
docker image prune -a -f # удалить неиспользуемые образы docker image prune -a -f # удалить неиспользуемые образы
&&& ```
### Просмотр занимаемого места ### Просмотр занимаемого места
&&&bash ```bash
docker system df docker system df
&&& ```
--- ---
@ -208,17 +208,17 @@ docker system df
- В интерфейсе NPM: SSL Certificates → статус каждого сертификата. - В интерфейсе NPM: SSL Certificates → статус каждого сертификата.
- В логах NPM: - В логах NPM:
&&&bash ```bash
docker logs npm 2>&1 | grep -i "renew" docker logs npm 2>&1 | grep -i "renew"
&&& ```
### Ручное обновление (если нужно) ### Ручное обновление (если нужно)
В NPM есть кнопка "Renew Now". Также можно перезапустить контейнер: В NPM есть кнопка "Renew Now". Также можно перезапустить контейнер:
&&&bash ```bash
docker restart npm docker restart npm
&&& ```
--- ---