【发布时间】:2018-09-03 11:53:05
【问题描述】:
我有一个我正在交互使用的容器 (docker run -it),在其中,我必须运行一组非常常见的命令,尽管并不总是按照设定的顺序,因此我不能只运行一个脚本。
因此,我希望有一种方法可以让我在 递归搜索 (Ctrl+R) 中的命令在 Docker 容器中可用。
知道我该怎么做吗?
【问题讨论】:
标签: bash docker dockerfile
我有一个我正在交互使用的容器 (docker run -it),在其中,我必须运行一组非常常见的命令,尽管并不总是按照设定的顺序,因此我不能只运行一个脚本。
因此,我希望有一种方法可以让我在 递归搜索 (Ctrl+R) 中的命令在 Docker 容器中可用。
知道我该怎么做吗?
【问题讨论】:
标签: bash docker dockerfile
我在这些问题中找到了有用的信息:
Docker and .bash_history
Docker: preserve command history
https://superuser.com/questions/1158739/prompt-command-to-reload-from-bash-history
但是,他们使用 docker 卷挂载,这意味着容器命令会影响本地(主机 PC)命令,这是我不想要的。
看来我必须将 ~/.bash_history 从本地复制到容器中,这将使历史记录“单向”工作。
更新:工作:COPY your_command_script.sh some_folder/my_historyENV HISTFILE myroot/my_historyRUN PROMPT_COMMAND="history -a; history -r"
解释:
将命令脚本复制到容器中的文件中
告诉 shell 查看不同的历史文件
重新加载历史文件
【讨论】: