SystemdDoctor
мешает работе журнал контейнеры

В журнале контейнера видны записи хоста

Если каталог журнала хоста проброшен в контейнер, инструменты внутри читают журнал хоста. Записи служб контейнера при этом могут не сохраняться вовсе. Путаница обычно вскрывается при разборе сбоя, когда нужных записей нет там, где их ищут.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Каталог журнала хоста проброшен в контейнер

    Проброс каталога журнала — приём для чтения журнала хоста изнутри. При случайном пробросе внутренние инструменты показывают чужие записи.

  2. Записи контейнера не сохраняются

    Внутри контейнера может не быть постоянного журнала, и записи исчезают вместе с контейнером.

  3. Идентификатор машины совпадает у хоста и контейнера

    Одинаковый идентификатор мешает разделить записи: они попадают в один каталог журнала.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Работаем ли мы в контейнере и в каком.

systemd-detect-virt --container

Проброшен ли каталог журнала извне.

findmnt /var/log/journal

Идентификатор машины: по нему журнал раскладывается по каталогам.

cat /etc/machine-id

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Каталог журнала хоста проброшен в контейнер
Почему происходит
Проброс каталога журнала — приём для чтения журнала хоста изнутри. При случайном пробросе внутренние инструменты показывают чужие записи.
Как проверить
Определите окружение и посмотрите точки монтирования.
systemd-detect-virt --container
findmnt /var/log/journal 2>/dev/null
Как исправить
Уберите проброс каталога журнала, если он не нужен. Контейнеру достаточно своего журнала или вывода в поток.
2. Записи контейнера не сохраняются
Почему происходит
Внутри контейнера может не быть постоянного журнала, и записи исчезают вместе с контейнером.
Как проверить
Посмотрите режим хранения внутри.
test -d /var/log/journal && echo постоянный || echo только в памяти
journalctl --disk-usage
Как исправить
Направьте вывод служб контейнера в поток и собирайте его средствами среды исполнения: так записи не теряются при пересоздании контейнера.
3. Идентификатор машины совпадает у хоста и контейнера
Почему происходит
Одинаковый идентификатор мешает разделить записи: они попадают в один каталог журнала.
Как проверить
Сравните идентификаторы.
cat /etc/machine-id; sudo ls /var/log/journal/ 2>/dev/null
Как исправить
Обеспечьте уникальный идентификатор машины в каждом контейнере. Клонирование образа вместе с идентификатором — частая причина путаницы.

Пример вывода

Каталог журнала хоста проброшен в контейнер. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

# systemd-detect-virt --container
systemd-nspawn

# findmnt /var/log/journal
TARGET           SOURCE                      FSTYPE OPTIONS
/var/log/journal /dev/vda2[/var/log/journal] ext4   rw,relatime

Связанные ошибки

Где встречается чаще всего

Источники

  • systemd-nspawn(1)
    Проброс журнала хоста в контейнер.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено пробросом каталога журнала в контейнер.
    собственная проверка, systemd 255
    сверено 15 сентября 2026