几天前我开始玩Docker了,我已经能够将我的第一台服务器停靠。但有几个怪癖。一个与复制资源目录中的文件权限相关。请参阅容器中的以下shell会话:
1dfcc66f2344:/etc/jetty8% pwd
/etc/jetty8
1dfcc66f2344:/etc/jetty8% id
uid=1000(web) gid=111(jetty) groups=111(jetty)
1dfcc66f2344:/etc/jetty8% ls -al
total 68
drwxr-xr-x 5 web jetty 4096 Nov 30 16:07 .
drwxr-xr-x 119 root root 4096 Nov 30 16:43 ..
drwxrwx--- 2 web jetty 4096 Nov 30 16:07 contexts
-rw-rw---- 1 web jetty 1004 Nov 26 12:35 jetty-contexts.xml
-rw-rw---- 1 web jetty 1452 Nov 26 12:35 jetty-logging.xml
-rw-rw---- 1 web jetty 2277 Nov 26 12:35 jetty-shared-webapps.xml
-rw-rw---- 1 web jetty 169 Nov 26 12:35 jetty.conf
-rw-rw---- 1 web jetty 3637 Nov 26 12:35 jetty.xml
-rw-rw---- 1 web jetty 8507 Nov 26 12:35 start.config
-rw-rw---- 1 web jetty 24426 Nov 26 12:35 webdefault.xml
1dfcc66f2344:/etc/jetty8% cd contexts
contexts: Permission denied.
如您所见,contexts
应该由拥有它的用户web
访问。但它实际上无法访问该目录。
使用Dockerfile
中的以下部分安装该目录。
COPY resources/etc/jetty8 /etc/jetty8/
RUN chown -R web:jetty /etc/jetty8/
我是通过boot2docker
从Mac OS X主机运行的。
感谢。
答案 0 :(得分:4)
mmm,因为这是Boot2Docker,它更可能与aufs
中的限制有关 - 感觉很像https://github.com/docker/docker/issues/783