我的Docker Jekyll生产线创建一个新的脚手架
sudo docker run --rm -it --volume="$PWD:/srv/jekyll" jekyll/jekyll:4.0 jekyll new blog
我的权限被拒绝
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux-musl]
jekyll 4.0.0 | Error: Permission denied @ dir_s_mkdir - /srv/jekyll/blog
我的密码
vagrant@gitlab:/$ pwd
/
为什么?
答案 0 :(得分:1)
错误就在那里:jekyll无法创建目录,因为它没有权限。
这样做的原因是,jekyll用户使用UID 1000
https://github.com/envygeeks/jekyll-docker/blob/master/repos/jekyll/Dockerfile#L133,并且此UID在您的主机中没有对/
的写权限。
是否使用sudo
并不重要,sudo
只是能够运行docker服务,但是容器本身使用UID 1000。
因此,要解决此问题,只需使用另一个主机挂载点,UID 1000的用户就可以拥有写访问权限。