А
Админим с Буквой
@bykvaadm6.0K подп.
2.6Kпросмотров
42.9%от подписчиков
8 марта 2026 г.
Score: 2.8K
Меняем смонтированный с RO файл без остановки контейнера На хосте запущен consul через docker run с монтированием цепочки сертификатов --volume /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro Когда на хосте утилита обновления сертификатов update-ca-certificates отработала, она удалила старый файл ca-certificates.crt и создала новый. Но внутри контейнера старый файл был примонтирован. В терминологии ядра Linux этот bind-mount превратился в призрак (unlinked inode). Нам нужно сначала "отмонтировать" этот мертвый файл-призрак. И вот поверх него мы сможем успешно смонтировать новый сертификат. # получить первый PID контейнера на хосте PID=$(docker inspect -f '{{.State.Pid}}' consul) # Скопировать файл в контейнер docker cp /etc/ssl/certs/ca-certificates.crt consul:/tmp/new-ca.crt # Отмонтировать старый inode (удаленный файл) из namespace контейнера nsenter -t $PID -m -r umount -l /etc/ssl/certs/ca-certificates.crt # Примонтировать nsenter -t $PID -m -r mount --bind -o ro /tmp/new-ca.crt /etc/ssl/certs/ca-certificates.crt Дальше можно перечитать конфиг consul. это все равно не помогло, пришлось рестартить consul😐
2.6K
просмотров
1183
символов
Да
эмодзи
Нет
медиа

Другие посты @bykvaadm

Все посты канала →
Меняем смонтированный с RO файл без остановки контейнера На — @bykvaadm | PostSniper