docker - составить сборку на jekyll и подать через nginx - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь настроить приложение Docker, которое позволит мне создать статический сайт c через jekyll, а затем обслуживать его через Nginx. Я чувствую, что действительно неправильно понимаю что-то с общими томами. Jekyll создает сайт, и мне нужно сделать сгенерированный сайт (расположенный в каталоге _site) доступным для Nginx.

docker -compose.yml

version: '3.3'

volumes:
  static:

services:

  jekyll:
    build:
      context: './'
      dockerfile: './.docker/jekyll/Dockerfile'
    volumes: 
      - static:/usr/src/app

  nginx:
    build: './.docker/nginx/'
    ports:
      - '80:80'
    volumes:
      - static:/var/www/html/public
    depends_on: 
      - jekyll

Jekyll Dockerfile

FROM jekyll/jekyll:3.4.3

WORKDIR /usr/src/app

COPY . .

RUN jekyll build --verbose

ADD _site /var/www/html/public

Nginx Dockerfile:

FROM nginx

# Remove default nginx configs.
RUN rm -f /etc/nginx/conf.d/*

COPY static.conf /etc/nginx/conf.d/static.conf

Nginx config:

server {
    listen 80;
    server_name localhost;
    index index.html;
    root /var/www/html/public;

    location / {
        try_files $uri $uri/ =404;
    }
}
...