Проблема
Узел / express Docker образ, работающий локально, обслуживающий некоторые html страницы, а не другие
Объяснение
У меня есть приложение Node / Express как образ Docker, который запускается локально как контейнер Docker. Это приложение обслуживает html страниц обычным образом, как при использовании Express. Однако кажется, что я могу получить доступ только к некоторым из этих страниц, но не к другим, несмотря на то, что маршруты express почти идентичны
server.js
app.get('/', function (req, res) {
res.render('index', {
user: req.user
});
});
app.get('/signup/terms', function (req, res, ) {
res.render('signup/terms', {
user: req.user
})
})
app.get('/signup/map', function (req, res, ) {
res.render('signup/map', {
user: req.user
})
})
Я могу получить доступ к индексу и / подписке / условиям без проблем, все html, css и изображения загружаются, но при посещении / регистрации / карте я получаю код состояния 500
GET /signup/map 500 5.980 ms - 47
То, что я пробовал:
Я попытался просмотреть каталог файлов контейнера docker, используя:
docker exec -it <container> sh
, чтобы проверить, есть ли все файлы, и они есть, и изображение до date.
Вот конфигурация docker, которую я использовал для создания образа:
FROM node:10-alpine
# Create app directory
WORKDIR /app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
# DEV RUN npm install
# If you are building your code for production
# RUN npm ci --only=production
RUN npm ci --only=production
# Bundle app source
COPY . /app
EXPOSE 3000
CMD [ "node", "server.js" ]
Я также попытался перестроить образ с опцией --no-cache, но безрезультатно .
Я подумал, что это может быть проблема с каталогом, но тот факт, что некоторые страницы служат, а некоторые нет, вызывает недоумение ...
Кто-нибудь знает, что здесь происходит?
Обновление: Оказывается, это была проблема с шаблонизацией e js. У меня были страницы с непропущенными переменными, из-за которых сервер выбрасывал статус 500.