Подключите локальный контейнер docker - PullRequest
0 голосов
/ 27 января 2020

У меня есть docker -композитный файл конфигурации со следующими настройками:

version: '3.6'
services:
  mongo:
    image: mongo
    restart: always
    ports:
      - "27017:27017"
    networks:
      - devnetwork
  discovery:
    image: discovery
    ports:
      - "8761:8761"
    networks:
      - devnetwork
    environment:
      - SPRING_PROFILES_ACTIVE=dev  
      - DISCOVERY_SERVER=discovery
      - DISCOVERY_PORT=8761

networks:
  devnetwork:

После компоновки я создаю и запускаю следующий файл Docker:

FROM openjdk:12    
#RUN echo $(grep $(hostname) /etc/hosts | cut -f1) api >> /etc/hosts
ADD gubee-middleware/target/*.jar /usr/share/middlewareservice/middleware-service.jar
EXPOSE 9670
ENTRYPOINT ["/usr/bin/java", "-XX:+UnlockExperimentalVMOptions","-XX:+UseContainerSupport","-Dspring.profiles.active=dev", "-jar", "/usr/share/middlewareservice/middleware-service.jar"]

Как мне заставить мой порт 9670 dockerfile службы видеть другие службы, которые я запускаю с docker -compose?

1 Ответ

1 голос
/ 27 января 2020

Вам необходимо присоединить контейнер к сети, созданной docker compose при его запуске.

Это можно сделать, передав --network=<network-name> (получить, запустив docker network ls) при выполнении docker run команда.

После подключения ваше приложение сможет получать доступ к контейнерам, запущенным путем компоновки, используя их имена в качестве хоста. Например: http://mongo:27017

...