Возможность вызвать приложение node js в контейнере и контейнере redis, используя docker -compose.yml, но не может получить доступ к приложению - PullRequest
0 голосов
/ 01 февраля 2020
docker-compose up

Показывает -

app_1    | Node server listening on port 3800 in 'development' mode
app_1    | node_redis: Warning: Redis server does not require a password, but a password was supplied.
app_1    | node_redis: Warning: Redis server does not require a password, but a password was supplied.

docker ps показывает следующее -

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
9c3f8a951203        redis:latest        "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        6379/tcp            mvc20_redis_1
b242b37adf15        mvc-nodejs          "node app.js"            2 days ago          Up 6 minutes        9005/tcp            mvc20_app_1

docker -compose.yml содержит следующее -

version: '2'


services:
  app:
    image: mvc-nodejs

  redis:
    image: redis:latest
    command: ["redis-server", "--bind", "redis", "--port", "6379"]

Раньше я пользовался для доступа к конечным точкам приложения на http://localhost: 3800 .

Но теперь он недоступен. Это из-за того, что внешний порт не настроен?

Ранее, перед использованием docker -compose, я указывал внешний порт при запуске такого контейнера -

docker run --name redis -p 6379:6379 redis

Do Мне нужно сделать что-то подобное? Newb ie здесь.

Обновление

Пробовал также порт 9005. Тот же результат -

Не удалось получить ответ от Почтальона.

1 Ответ

0 голосов
/ 01 февраля 2020

Попробуйте обновить службу app и открыть внутренний порт следующим образом:

services:
  app:
    ports:
      - 3800:3800

Где сначала 3800 - это порт, к которому вы будете обращаться к приложению извне (порт хоста), а last 3800 - это порт, который прослушивает приложение вашего узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...