无法从绑定分区读取数据

时间:2017-03-08 21:28:20

标签: docker

在遵循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容器可以访问它。有没有办法与我运行的容器共享我的文件访问权限?

1 个答案:

答案 0 :(得分:0)

$ docker --version
Docker version 17.03.0-ce, build 3a232c8

看起来你正在运行Docker的边缘版本,而不是稳定版本(边缘是17.x,我认为最新稳定版是1.13)。

在Ubuntu和Docker 1.13的框中运行相同的示例,一切都按预期工作。

所以我的建议是使用稳定版本,除非你真的需要使用边缘版本。