在遵循docker文档中的示例时无法读取数据。可能是我的docker配置出了问题?
按照以下方式创建容器:https://docs.docker.com/engine/tutorials/dockervolumes/#mount-a-host-file-as-a-data-volume
$(function(){
var stickyTop="";
$(window).on( 'scroll', function(){
if ($(window).scrollTop() >= stickyTop) {
stickyTop = $('h2').offset().top;
$('h2').css({position: "fixed", top: "0px"});
} else {
stickyTop = $('h2').offset().top;
$('h2').css({position: "relative", top: "0px"});
}
});
});
当我尝试从容器中查看历史记录时,我收到了“拒绝权限”错误':
docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
.bash_history文件的所有权是否有任何问题?
root@81076476fa68:/# history
1 ls -la ~/
2 history
root@81076476fa68:/# cat ~/.bash_history
cat: /root/.bash_history: Permission denied
4.4和4.10内核都给出了相同的结果。
我在Linux Mint 18.1上。以下是一些系统信息:
root@81076476fa68:/# ls -la ~/
total 60
drwx------ 2 root root 4096 Mar 8 21:14 .
drwxr-xr-x 35 root root 4096 Mar 8 21:14 ..
-rw------- 1 nobody nogroup 42996 Mar 8 21:06 .bash_history
-rw-r--r-- 1 root root 3106 Oct 22 2015 .bashrc
-rw-r--r-- 1 root root 148 Aug 17 2015 .profile
更新
我发现问题在于文件访问权限/属性。当我更改.bash_history的属性以便允许每个人阅读时,docker容器可以访问它。有没有办法与我运行的容器共享我的文件访问权限?
答案 0 :(得分:0)
$ docker --version
Docker version 17.03.0-ce, build 3a232c8
看起来你正在运行Docker的边缘版本,而不是稳定版本(边缘是17.x,我认为最新稳定版是1.13)。
在Ubuntu和Docker 1.13的框中运行相同的示例,一切都按预期工作。
所以我的建议是使用稳定版本,除非你真的需要使用边缘版本。