Я обслуживаю статические файлы, используя докер-контейнер 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/ работает нормально.Но я не хочу продолжать монтировать каждый такой каталог.
Любая помощь будет оценена.Заранее спасибо.