@S-LoginOff

Как пробросить порты в контейнере docker (с внутреннего на внешний)?

Добрый день, возникла следующая проблема, использую Docker Desktop, через docker-compose запускаю два контейнера, пробрасываю порт, но в итоге выдаёт ошибку 403. Если зайти в контейнер и проверить локально, то всё работает. Подскажите в чём проблема.

docker-compose.yml
version: "3.8"

services:
  first-node:
    &first
    container_name: first-node
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "9057:9057"
  second-node:
    <<: *first
    container_name: second-node
    ports:
      - "9077:9057"


Dockerfile:
FROM openjdk:8-alpine
WORKDIR /home/project/
COPY ./ /home/project/
CMD ["java", "-jar", "app.jar"]


Если зайти в контейнер и пробить локально, всё нормально:
curl -I 127.0.0.1:9057/index/main.html
HTTP/1.1 200 OK
Date: Thu, 25 Jun 2020 17:17:47 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 0
Server: Jetty(9.3.z-SNAPSHOT)


Если пробить по внешнему IP, то выдаёт 403:
curl -I 172.21.0.3:9057/index/main.html
HTTP/1.1 403 Forbidden
Date: Thu, 25 Jun 2020 17:19:13 GMT
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Content-Length: 330
Server: Jetty(9.3.z-SNAPSHOT)


Порты прослушиваются (внутри):
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.11:39245        0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:9056            0.0.0.0:*               LISTEN      1/java
tcp        0      0 0.0.0.0:9057            0.0.0.0:*               LISTEN      1/java
udp        0      0 127.0.0.11:56731        0.0.0.0:*                           -


docker ps:
docker_second-node   "java -jar app.…"   9 minutes ago       Up 9 minutes        0.0.0.0:9077->9057/tcp   second-node     
docker_first-node    "java -jar app.…"   9 minutes ago       Up 9 minutes        0.0.0.0:9057->9057/tcp   first-node
  • Вопрос задан
  • 774 просмотра
Решения вопроса 1
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
403 ошибка - это ваше приложение из контейнера отвечает что доступ запрещен - при чем тут проброс портов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы