【发布时间】:2019-12-21 12:02:44
【问题描述】:
由于权限错误,我无法构建我用 git 克隆的 jekyll 站点。我正在使用 Ubuntu 18.04。我查看了大多数关于此错误的 SO 帖子,但没有一个解决方案对我有用。
构建站点的命令是 docker-compose up。使用或不使用 sudo 运行此命令都不会更改错误。我在码头工人组。我可以使用 bundle exec jekyll serve 构建网站。此命令成功创建 _site 文件夹。
我尝试手动添加 _site,但这会导致另一个错误。
$ docker-compose up
Starting site ... done
Attaching to site
site | Configuration file: /srv/jekyll/_config.yml
site | Source: /srv/jekyll
site | Destination: /srv/jekyll/_site
site | Incremental build: disabled. Enable with --incremental
site | Generating...
site | Jekyll Feed: Generating feed for posts
site | jekyll 3.8.5 | Error: Permission denied @ dir_s_mkdir - /srv/jekyll/_site
site exited with code 1
docker-compose.yml
version: '3'
services:
doc:
image: jekyll/jekyll:3.8
volumes:
- .:/srv/jekyll
container_name: site
ports:
- "4000:4000"
stdin_open: true
tty: true
command: bash -c "bundle install && bundle exec jekyll serve --host 0.0.0.0"
我希望不会出现错误并成功创建 _site 目录。
【问题讨论】:
-
在卷声明中
.指的是您主机的当前目录。该目录的权限是什么?所有者是谁?最好将.替换为./jekyll并将您需要的任何文件放入新目录中。然后你可以尝试给这个目录更多的写权限。 -
@Mihai 我运行命令所在目录的权限是
drwxr-xr-x 12 addison addison 4.0K Aug 14 15:50。 -
尝试添加此卷:
- ./_site:/srv/jekyll/_site这样该文件夹将由 docker-compose 创建并具有正确的权限。 -
@Mihai 在执行命令
chmod ugo+rwx site然后使用docker-compose up后,我能够构建站点。当我添加您建议的行时,我收到另一个错误jekyll 3.8.5 | Error: Permission denied @ rb_sysopen - /srv/jekyll/_site/blog.html。我对我的解决方案并不完全满意,因为我有其他同行不必修改其目录权限或更改 docker-compose.yml 文件。 -
由于您在尝试我的解决方案时已成功运行该项目,因此我猜该文件夹已创建。或者你确定它不存在?
标签: docker permissions docker-compose jekyll