Я хотел бы разработать и протестировать облачные функции Google Firebase в Docker-контейнере. Вот мой Dockerfile:
FROM node:6.11.5
WORKDIR /workspace
RUN npm install -g firebase-tools eslint babel-cli
ADD functions-source/package*.json functions-source/
RUN npm --prefix ./functions-source install
ADD ./package*.json ./
RUN npm install
ENV GOOGLE_APPLICATION_CREDENTIALS /workspace/keys/default-appengine-service-key.json
EXPOSE 9005 5000
Я строю изображение выше с помощью этой команды
docker build --tag dewey-nguyen:latest .
Затем запустите Docker-контейнер с помощью этой команды:
docker run -p 9005:9005 -p 5000:5000 -o 0.0.0.0 -v `pwd`:/workspace -it dewey-nguyen:latest /bin/bash
Когда я попал внутрь контейнера, я захожу в firebase с помощью этой команды:
firebase login
и мне удалось войти в firebase в браузере (http://localhost:9005/...
) с хост-компьютера.
Когда я запускаю firebase serve --only functions --debug
внутри своего контейнера, я вижу, что все функции зеленого цвета:
✔ functions: auth: http://localhost:5000/dewey-nguyen/us-central1/auth
✔ functions: myInformedDelivery: http://localhost:5000/dewey-nguyen/us-central1/myInformedDelivery
✔ functions: authCallback: http://localhost:5000/dewey-nguyen/us-central1/authCallback
✔ functions: checkInformedDeliveryEmails: http://localhost:5000/dewey-nguyen/us-central1/checkInformedDeliveryEmails
Но я не могу получить доступ к http://localhost:5000/dewey-nguyen/us-central1/auth
из браузера хоста с возвращенной ошибкой ERR_EMPTY_RESPONSE
.
У кого-нибудь есть подсказка?