我有一个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 ..
答案 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.html和https://github.com/docker/docker/issues/5489#issuecomment-73427804