Error: File exists @ dir_s_mkdir -

问题描述 投票:0回答:1

我无法在这里建立jekyll网站。Windows 10 使用 docker-compose up . 我看了大多数SO的帖子1关于这个错误,但没有一个解决方案对我有用。

同样的项目,我可以在Mac OS上成功运行。

  • 我试图升级到jekyll-paginate-v2 2.0.0,因为我正在使用jekyll-paginate 1.1.0。

  • 我可以使用 bundle exec jekyll serve 来建立网站。这个命令成功创建了_site文件夹。

site_1  | 11:49:16 webpack.1 |     Entrypoint undefined = ../../app/_layouts/default.html
site_1  | 11:49:16 webpack.1 |        4 modules
site_1  | 11:49:16 webpack.1 | ��� ���wdm���: Compiled successfully.
site_1  | 11:49:39 webpack.1 | ��� ���wdm���: Compiling...
site_1  | 11:49:42 jekyll.1  | exited with code 1
site_1  | 11:49:42 system    | sending SIGTERM to all processes
site_1  | 11:49:44 webpack.1 |  98% after emitting CopyPlugin
site_1  | 11:49:44           | jekyll 3.8.4 | Error:  File exists @ dir_s_mkdir - /jekyll/app/_site/tag/inspire
site_1  | 11:49:44 webpack.1 | exited with code 0

Docker-compose:

version: '3'
volumes:
  app-gems:
    driver: local
services:
  site:
    build:
      context: ./dev
      dockerfile: Dockerfile
    volumes:
      - .:/jekyll/app
      - app-gems:/usr/local/bundle
    environment:
      - NODE_ENV=develop
    command: ./app/dev/scripts/serve.sh
    stdin_open: true
    tty: true

DockerFile:

FROM ruby:2.5-stretch as builder

ARG APP_URL
ENV NODE_VER 8
ENV APP_HOME /app
ENV JEKYLL_APP_DIR /app
ENV NODE_ENV production

RUN sed -i "s/stretch main/stretch main contrib non-free/" /etc/apt/sources.list \
    && curl -sL https://deb.nodesource.com/setup_$NODE_VER.x | bash - \
    && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -\
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list \
    && apt-get update && apt-get install -y libxml2-dev libxslt1-dev unzip imagemagick nodejs cmake yarn \
    && npm install -g bower \
    && rm -rf /var/lib/apt/lists/*

WORKDIR $APP_HOME
COPY . .
RUN ./dev/scripts/build.sh && cat app/_layouts/default.html

FROM nginx:1.14-alpine
ENV NGINX_PORT 3000
COPY --from=builder /app/_site /usr/share/nginx/html
RUN ls -la /usr/share/nginx/html/
windows docker-compose jekyll
1个回答
0
投票

关于 Error: File exists @ dir_s_mkdir 我想这是因为使用了绑定挂载(volume - .:/jekyll/app),我对jekyll不是很了解,但是那个目录下的所有东西都应该是持久化的吗?在这种情况下,你不能使用一个命名卷吗?

© www.soinside.com 2019 - 2024. All rights reserved.