почему это работает:
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./:/var/www/html
- ./default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- api
links:
- api
api:
image: php:8.2-fpm
ports:
- "9000:9000"
volumes:
- ./:/var/www/html
Но это не так
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./:/usr/share/nginx/html
- ./default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- api
links:
- api
api:
image: php:8.2-fpm
ports:
- "9000:9000"
volumes:
- ./libs/php:/var/www/html
По сути, это отделяет внешний интерфейс от внутреннего, где контейнер nginx ничего не знает о php (из-за dockerignore для внешнего интерфейса nginx). Но после нескольких часов попыток единственный вариант — поместить все это в одну и ту же папку по объему, что противоречит цели контейнеризации.
Второй вариант не позволит интерфейсу отправлять запросы к серверная часть php. Все, что вы получите, это постоянные ошибки о том, что файл не существует, 404 или 502. Почему? Нет ли у контейнеров возможности отправлять запросы друг другу без необходимости явного использования одних и тех же папок и файлов?
├── docker-compose.yaml
├── index.html
└── libs/
├── php/
│ ├── geocodeBackend.php # PHP files served by php-fpm
│ └── other_php_files.php
├── js/
│ └── jquery.js # JS, Css and html served by nginx
└── css/
└── styles.css
Подробнее здесь: https://stackoverflow.com/questions/791 ... iles-match
Том Docker работает только в том случае, если все файлы совпадают ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1730498970
Anonymous
почему это работает:
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./:/var/www/html
- ./default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- api
links:
- api
api:
image: php:8.2-fpm
ports:
- "9000:9000"
volumes:
- ./:/var/www/html
Но это не так
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./:/usr/share/nginx/html
- ./default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- api
links:
- api
api:
image: php:8.2-fpm
ports:
- "9000:9000"
volumes:
- ./libs/php:/var/www/html
По сути, это отделяет внешний интерфейс от внутреннего, где контейнер nginx ничего не знает о php (из-за dockerignore для внешнего интерфейса nginx). Но после нескольких часов попыток единственный вариант — поместить все это в одну и ту же папку по объему, что противоречит цели контейнеризации.
Второй вариант не позволит интерфейсу отправлять запросы к серверная часть php. Все, что вы получите, это постоянные ошибки о том, что файл не существует, 404 или 502. Почему? Нет ли у контейнеров возможности отправлять запросы друг другу без необходимости явного использования одних и тех же папок и файлов?
├── docker-compose.yaml
├── index.html
└── libs/
├── php/
│ ├── geocodeBackend.php # PHP files served by php-fpm
│ └── other_php_files.php
├── js/
│ └── jquery.js # JS, Css and html served by nginx
└── css/
└── styles.css
Подробнее здесь: [url]https://stackoverflow.com/questions/79149525/docker-volume-only-works-if-all-files-match[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия