Docker:用容器内的非root用户executng命令

我有一个基于Dockerregistry的Debian Wheezy镜像的自定义docker容器。 我想用它与stream浪(docker提供商),所以我创build一个新的用户(stream浪用户)图像保存在我们的信息库。 在我的本地机器上一切正常,我可以简单地使用它,su vagrant是工作得很好。 我的机器是:

Linux ###### 3.13.8-1-ARCH #1 SMP PREEMPT Tue Apr 1 12:19:51 CEST 2014 x86_64 GNU/Linux 

有些机器根本没有问题。 但在其他机器上

 Linux ###### 3.13.7-1-MANJARO #1 SMP PREEMPT Mon Mar 24 19:44:00 UTC 2014 x86_64 GNU/Linux 

 Linux ###### 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 

我有这个问题:

 docker run -ti example.com:5000/wheezy /bin/bash root@385af4fd6f17:/# su vagrant Cannot execute /usr/bin/zsh: Permission denied root@385af4fd6f17:/# 

在我的机器和其他一些完全相同的命令完全没有问题。 在最后两台有问题的机器上,root用户工作没有任何问题,但我不能对非root用户运行任何命令(我在当前会话中创build了另一个新用户,没有运气)

这是因为这个bug: https : //github.com/dotcloud/docker/issues/4068

devicemapper作为存储驱动程序的机器可以,但aufs存储有这个bug。 更改docker存储到devicemapper(docker -d -s = devicemapper)或者使用git版本(目前0.9.1有这个bug)解决了这个问题。