为什么我的Docker Jekyll构建失败?错误:权限被拒绝

时间:2019-11-27 09:55:17

标签: docker

我的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
/

为什么?

1 个答案:

答案 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的用户就可以拥有写访问权限。