Docker卷安装显示带有Linux安装目录的空目录

时间:2017-01-30 20:07:24

标签: docker

我有一个linux卷dev/sdh,它安装在/media/ebs_volume。当我尝试使用-v /media/ebs_volume:/tmp/foo:ro将其挂载到docker容器中时,/tmp/foo中的挂载目录为空! <{1}}来自容器内部是空的,但主机上的ls -al /tmp/foo中有内容。

ls -al /media/ebs_volume

我尝试在不同位置的主机上安装卷,并且只从主机而不是整个目录安装一个特定文件。如果我从主目录中挂载似乎没有任何问题的东西。

任何人都有任何想法,这里可能会发生什么或最好的调试方法?

可能有用的输出有一些编辑:

ec2-user@ip-10-0-2-50 ~]$ ls -al /media/ebs_volume/
total 28
drwxr-xrwx 4 root     root      4096 Jan 20 21:34 .
drwxr-xr-x 3 root     root      4096 Jan 29 23:18 ..
drwx------ 2 root     root     16384 Jan 20 21:29 lost+found
drwxrwxr-x 3 ec2-user ec2-user  4096 Jan 20 21:38 stuff
[ec2-user@ip-10-0-2-50 ~]$ docker run -it --rm -v /media/ebs_volume:/tmp/foo:ro nginx ls -al /tmp/foo
total 4
drwxr-xr-x 2 root root 4096 Jan 29 23:18 .
drwxrwxrwt 3 root root   16 Jan 30 17:33 ..

1 个答案:

答案 0 :(得分:0)

肮脏的解决方案,但我发现通过docker service restart重新启动docker服务为我修复了此问题。

我正在使用ElasticBeanstalk并在我的commands文件中添加了一些.config以重新启动部署服务,例如:

...

commands:
    ...
    02-restart-docker:
        command: service docker restart && docker restart ecs-agent
    ...

请参阅http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.htmlhttps://github.com/docker/docker/issues/5489#issuecomment-73427804