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