Коллеги, приветствую.
Юзаю
Microsoft bot framework
Он прекрасно работает, но если я его запускаю в контейнере, то он перестаёт работать.
То есть он не может стучаться наружу.
Получаю ошибку, что то типа этого
Got error: connect ECONNREFUSED 127.0.0.1:1864
Вот как я это делаю
spoiler
# Development configuration
version: "3.7"
networks:
api:
services:
bot:
container_name: registrator.bot
restart: on-failure
image: registrator.bot
build:
context: .
dockerfile: docker/nodejs/dev/Dockerfile
volumes:
- .:/app
networks:
- api
ports:
- 3978:3978
expose:
- 3978
Dockerfile
FROM node:alpine
RUN mkdir -p /app
WORKDIR app/
RUN npm install -g npm yo generator-botbuilder
COPY . .
COPY packag*.json ./
RUN npm install
EXPOSE 3978
CMD ["npm", "start-debug"]
В интернете нашёл информацию, мол проблему можно решить с помощью Ngrok.
И да, действительно проблема исчезла, когда в эмуляторе явно указал Ngrok.exe
Внимание вопрос, как настроить Ngrok в docker-compose.yml?
Что бы все работало из коробки без настройки эмулятора.
Вот пример, как я хочу
Внимание, не рабочий вариант
# Development configuration
version: "3.7"
networks:
api:
services:
bot:
container_name: registrator.bot
restart: on-failure
image: registrator.bot
build:
context: .
dockerfile: docker/nodejs/dev/Dockerfile
volumes:
- .:/app
networks:
- api
ports:
- 3978:3978
expose:
- 3978
ngrok:
image: registrator.ngrok
build:
context: docker/ngrok/dev
dockerfile: Dockerfile
ports:
- "4000:4040"
command:
- ngrok http 3978
depends_on:
- bot
networks:
- api