Докер-контейнер Nginx обслуживает одни и те же статические файлы в разных местах - PullRequest
0 голосов
/ 08 июля 2019

Я обслуживаю статические файлы, используя докер-контейнер Nginx.Я смонтировал каталог для обслуживания.Я хочу обслуживать один и тот же каталог в другом месте.Рассмотрим вариант использования сервировки ням зеркал.Пакеты в 7.3.1611 также должны обслуживаться под 7.3.

Изначально я попытался создать символические ссылки, связав 7.3.1611 с 7.3, но, поскольку контейнеры Docker не обрабатывают символические ссылки, Nginx не обслуживаетсвязанные каталоги.Во-вторых, я пытаюсь обслуживать одни и те же каталоги в разных местах Nginx.Но это тоже не работает, я получаю 404.

Вот пример nginx.conf

server {
    listen 80;

    server_name _;

    # Enable symlinks for follow up
    disable_symlinks off;

    location /yum/7.3 {
        alias /opt/mirror/yum/7.3;

        auth_basic            "Yum Repository";

        index  index.php index.html index.htm;
        autoindex on;   #enable listing of directory index
    }

    location /yum {
        root /opt/mirror;

        auth_basic            "Yum Repository";

        index  index.php index.html index.htm;
        autoindex on;   #enable listing of directory index
    }

    location / {
      return 412;
    }
}

docker-compose.yml выглядит так

version: '3.1'

services:
  nginx:
    image: nginx
    # command: "/bin/bash -c exec nginx -g 'daemon off;'"
    restart: always
    volumes:
      - "/home/admin/nginx_root.conf:/etc/nginx/nginx.conf"
      - "/tmp/mirror:/opt/mirror/yum"
    ports:
      - 25000:80
$ ls -l /tmp/mirror
drwxr-xr-x 3 root root 4096 Jul  4 06:51 7.3.1611
drwxr-xr-x 2 root root 4096 Jul  4 06:52 7.4.1804
drwxr-xr-x 2 root root 4096 Jul  4 06:52 7.5.1804
drwxr-xr-x 3 root root 4096 Jul  4 07:07 7.6.1810

Это прекрасно работает, когда я получаю доступ к http://localhost:25000/yum/7.3.1611/. Но http://localhost:25000/yum/7.3/ дает 404.

Теперь, когда я монтирую явно / tmp / mirror / 7.3.1611:/opt/mirror/yum/7.3 тогда этот http://localhost:25000/yum/7.3/ работает нормально.Но я не хочу продолжать монтировать каждый такой каталог.

Любая помощь будет оценена.Заранее спасибо.

...