Я пытаюсь докернизировать свое приложение узла, но не могу обслуживать мой локальный хост. Я продолжаю получать ERR_EMPTY_RESPONSE на странице, и это немедленно. Самое странное, что я могу иногда go назад или пересылать в своем браузере на страницу и получать страницу. Приложение будет работать правильно, за исключением веб-сокетов, которые также имеют ошибку ERR_EMPTY_RESPONSE.
Мой docker -компонентный файл:
version: '3'
services:
client:
build:
context: .
dockerfile: client/client.Dockerfile
image: client:1.0
container_name: client-dev
ports:
- 8080:8080
command: npm run dev
depends_on:
- server
server:
build:
context: .
dockerfile: server/server.Dockerfile
image: server:1.0
container_name: server-dev
ports:
- 8081:8081
command: npm start
Мои файлы Docker: Сервер:
FROM node:9.10.1
WORKDIR /usr/src/
COPY ./server/package.json ./server/package.json
WORKDIR /usr/src/server
RUN npm install
COPY ./server .
EXPOSE 8081
Клиент:
FROM node:9.10.1
WORKDIR /usr/src/
COPY ./client/package.json ./client/package.json
WORKDIR /usr/src/client
RUN npm install
COPY ./client .
EXPOSE 8080
Я изучил эту приличную сумму и обнаружил, что эта проблема обычно возникает из-за не публикации порта для использования, но из того, что я могу сказать, я ' мы сделали это Как минимум, я смог получить доступ к приложению странным образом, так что я уверен, что все сделал правильно. Я думаю, что возможность резервного копирования на страницу могла быть вызвана кэшированием в браузере, поскольку я не могу воспроизвести его после очистки своего кэша.
В какой-то момент я подумал, что проблема может быть вызвана проблемы cors, так как контейнер docker запускается с другого IP-адреса, отличного от хост-компьютера, но внесение в белый список моего собственного IP-адреса не изменило проблему.
Дополнительные примечания:
У меня morgan на моем сервер и он регистрировал запросы, когда я смог попасть на страницу, но не при попытке получить доступ к localhost: 8080 обычным способом.
Я попытался docker system prune -a
, чтобы очистить все и избежать проблем с кэшированием .
Я попробовал клиентские решения для ERR_EMPTY_RESPONSE
ошибок, и они ничего не изменили.
На данный момент я просто бросаю вещи в стену в надежде, что что-нибудь оказывает влияние.