Ubuntu Docker:保留命令历史记录

Ubuntu Docker:保留命令历史记录,ubuntu,docker,Ubuntu,Docker,每次我构建Docker容器时,命令历史记录(Ubuntu中的CTRL+R)都会丢失。是否有办法防止它在每次生成后重置历史记录?是的,有办法。尽管这有点棘手 基本上,当容器被移除时,它的整个文件系统都会被擦除。因此,您需要找到某种方法来持久化命令历史文件 首先,在容器中查找shell使用的历史文件。对我来说,我正在运行一个busybox容器。我发现历史文件是/root/ash\u history $ ls -a /root . .. .ash_hist

每次我构建Docker容器时,命令历史记录(Ubuntu中的CTRL+R)都会丢失。是否有办法防止它在每次生成后重置历史记录?

是的,有办法。尽管这有点棘手

基本上,当容器被移除时,它的整个文件系统都会被擦除。因此,您需要找到某种方法来持久化命令历史文件

首先,在容器中查找shell使用的历史文件。对我来说,我正在运行一个busybox容器。我发现历史文件是
/root/ash\u history

$ ls -a /root
.             ..            .ash_history
然后,删除当前正在运行的容器,并在装载主机文件的情况下重新运行它(这样我们就可以持久化
/root/.ash\u history
文件)

输入一些随机命令,移除容器并再次运行,您将能够在容器中使用CTRL+R

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