Я хочу запустить приложение node.js в контейнере Docker, используя docker-compose.Приложение TiddlyWiki, есть другие контейнеры, и все это работает в бродячей виртуальной машине и настроено с ansible, но я не думаю, что что-то из этого имеет значение для этой проблемы.
Это мой докер-compose config:
wiki:
image: node:12-alpine
container_name: nodejs
restart: always
working_dir: /home/node/app
environment:
NODE_ENV: production
volumes:
- "/srv/docker_wiki/:/home/node/app"
ports:
- "8080:8080"
command: "node node_modules/tiddlywiki/tiddlywiki.js mywiki --listen debug-level=debug"
Приложение запускается и работает без проблем:
vagrant@vserver:~$ sudo docker logs nodejs
Serving on http://127.0.0.1:8080
(press ctrl-C to exit)
syncer-server-filesystem: Dispatching 'save' task: $:/StoryList
Но я не могу его достать:
vagrant@vserver:~$ curl http://localhost:8080
curl: (52) Empty reply from server
vagrant@vserver:~$ curl http://localhost:8080
curl: (56) Recv failure: Connection reset by peer
Кажется случайнымкакое из двух разных сообщений об ошибках появляется.
Интересная деталь: если я использую образ узла по умолчанию, который поставляется вместе с curl, то после запуска * 1014 я могу получить доступ к приложению изнутри самого контейнера.*
Я также пытался использовать другой порт на хосте с тем же результатом.
Есть идеи, что здесь может пойти не так?