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



My Docker Jekyll line 创建一个新的脚手架

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
/

为什么?

错误就在那里:Jekyll 无法创建目录,因为它没有权限。

原因是 jekyll 用户使用UID 1000https://github.com/envygeeks/jekyll-docker/blob/master/repos/jekyll/Dockerfile#L133,并且此 UID 对主机中的/没有写入权限。

使用sudo没关系,sudo只是为了能够运行docker服务,但容器本身使用UID 1000。

因此,要解决此问题,只需使用具有 UID 1000 的用户具有写入访问权限的其他主机挂载点。

最新更新