You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10下无法在Docker容器中运行Al-folio Jekyll主题

解决Al-folio Jekyll主题Docker启动报错的方案

1. 修复Windows文件挂载权限问题

Windows下Docker挂载本地目录时,容器内用户常因无读写权限报错。

  • 打开Docker Desktop,进入设置→资源→文件共享,勾选项目所在磁盘(如C盘),应用后重启Docker。
  • 若仍无效,在compose.yml的jekyll服务中添加用户权限配置:
    user: "${UID:-1000}:${GID:-1000}"
    
    修改后的完整服务段:
    services:
      jekyll:
        image: amirpourmand/al-folio
        container_name: al-folio-website
        user: "${UID:-1000}:${GID:-1000}"
        command: bash -c "
          rm -f Gemfile.lock
          && bundler exec jekyll serve --watch --port=8080 --host=0.0.0.0 --livereload --verbose --trace"
        ports:
          - 8080:8080
        volumes:
          - .:/srv/jekyll
    

2. 先删除本地的Gemfile.lock文件

容器内可能因Windows文件锁定无法删除该文件,直接在PowerShell执行:

Remove-Item Gemfile.lock -Force

删完再重新运行docker-compose up。

3. 临时禁用livereload排查问题

Windows下livereload易和文件系统监听冲突,先去掉命令里的--livereload:

command: bash -c "
  rm -f Gemfile.lock
  && bundler exec jekyll serve --watch --port=8080 --host=0.0.0.0 --verbose --trace"

启动正常后再考虑恢复livereload。

4. 切换到WSL2后端运行Docker

Windows10下WSL2后端兼容性更好:

  • 打开Docker Desktop设置→通用,勾选“使用WSL2后端”,重启Docker。
  • 建议把项目移到WSL2的用户目录(如\\wsl$\Ubuntu-20.04\home\你的用户名\),在WSL终端内执行docker-compose up,比PowerShell更稳定。

5. 替换为官方推荐的Docker配置

第三方镜像可能存在兼容性问题,改用官方Jekyll镜像的compose配置:

version: "3"
services:
  jekyll:
    image: jekyll/jekyll:latest
    command: jekyll serve --watch --port=8080 --host=0.0.0.0 --livereload
    ports:
      - 8080:8080
    volumes:
      - .:/srv/jekyll
      - ./vendor/bundle:/usr/local/bundle
    environment:
      - JEKYLL_ENV=development

该配置会缓存依赖包,加快后续启动速度。

内容的提问来源于stack exchange,提问作者kingmakerking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:58:31