我有一个交互式使用的容器(docker run -it
),在其中,我必须运行一组非常常见的命令,但并不总是按设定顺序,因此我不能只运行一个脚本。
因此,我希望有一种方法可以在Docker容器中使用递归搜索(Ctrl+R
)中的命令。
知道我怎么能这样做吗?
我在这些问题中找到了有用的信息: Docker and .bash_history Docker: preserve command history https://superuser.com/questions/1158739/prompt-command-to-reload-from-bash-history
但是,它们使用docker volume mount,这意味着容器命令会影响我不想要的本地(主机PC)命令。
我似乎必须将~/.bash_history
从本地复制到容器中,这将使历史工作“单向”。
更新:工作:
COPY your_command_script.sh some_folder/my_history
ENV HISTFILE myroot/my_history
RUN PROMPT_COMMAND="history -a; history -r"
说明: 将命令脚本复制到容器中的文件中 告诉shell查看历史记录的其他文件 重新加载历史文件