Я пытаюсь настроить приложение 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;
}
}