作者:手机用户2502894761 | 来源:互联网 | 2023-05-23 19:52
有没有办法.bash_history
与docker容器共享一个卷,这样每次进入shell时我都可以使用我的bash历史滚动浏览?
能用IPython做同样的事情真是太棒了.
1> user2915097..:
它是关于卷的文档中的示例:将主机文件挂载为数据卷:
docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
这将使您进入新容器中的bash shell,您将获得主机的bash历史记录,当您退出容器时,主机将具有在容器中键入的命令的历史记录.
文档中确实存在拼写错误.`.bash_history`应该在用户的主目录中,而不是fs的根目录.应该是`docker run --rm -it -v~/.bash_history:/ root/.bash_history ubuntu/bin/bash`,因为我们默认是docker容器中的root.
几乎不相关,但我不想分享bash历史,只需要将主机终端历史记录带到一个容器,所以从这里获取线索并进一步扩展它,我使用了一个单独的`.docker_bash_history`并以相同的方式安装正如你所提到的那样.
2> Édouard Lope..:
在你的docker-compose.override.yml
:
version: '2'
services:
whatever:
…
volumes:
- …
- ~/.bash_history:/root/.bash_history
3> allthethings..:
为了保留IPython历史记录,可以将IPYTHONDIR
环境变量设置为映射卷内的某个位置。
该docker-compose.override.yml
是这样的:
version: '2'
services:
some-service:
environment:
- IPYTHOnDIR=/app/.ipython
volumes:
- .:/app