Докер: сохранить историю команд

Каждый раз, когда я создаю контейнер Docker, история команд ( CTRL + R в Ubuntu) теряется. Есть ли способ предотвратить его сброс истории после каждой сборки?

Да, есть способ. Хотя это немного сложно.

В основном, когда контейнер удален, вся его файловая система стирается. Поэтому вам нужно найти способ сохранить файл истории команд.

Сначала найдите файл истории, используемый оболочкой в ​​контейнере. Для меня я запускаю контейнер busybox. Я узнаю, что файл истории /root/ash_history .

 $ ls -a /root . .. .ash_history 

Затем удалите текущий запущенный контейнер и запустите его с установленным файлом хоста (чтобы мы могли сохранить файл /root/.ash_history ).

 docker run -v /path/to/host/file:/root/.ash_history ... 

Введите некоторые случайные команды и удалите контейнер и запустите его снова, вы сможете использовать CTRL + R в контейнере.