Загрузочное приложение Spring, запущенное в Docker, не может получить доступ к внешним серверам в тестовом профиле - PullRequest
0 голосов
/ 27 сентября 2019

Я написал приложение для весенней загрузки, которое я докернизирую.Мое приложение связывается с mongodb (локально работающим на моем компьютере) и с сервером rabbitMq (работающим в контейнере Docker локально на моем компьютере).Под моим профилем dev (заменив localhost или 127.0.0.1 на * host.docker.internal) все работает.

Вот мой Dockerfile

# Filename: Dockerfile
# It is assumed that you are in the root directory for this project

FROM  openjdk:8  		
ADD /target/monitor-msg-consumer-0.0.1-SNAPSHOT.jar  monitor-msg-consumer-0.0.1-SNAPSHOT.jar
EXPOSE 11371

## Profile: dev
ENTRYPOINT ["java","-jar", "-Dlog_home=/tmp","monitor-msg-consumer-0.0.1-SNAPSHOT.jar"]

Я создаю образ, затем запускаю этот образ, используя следующую команду:

docker run  --network=host  -p 11371:11371  -e "SPRING_PROFILES_ACTIVE=dev" --name monitor-msg-consumer   monitor-msg-consumer-img:latest

И, как указано, приложение запускается, и я могу взаимодействовать с ним в профиле dev .

Теперь, если я удалю этоконтейнер и запустите его с моим профилем test с помощью команды:

docker run  --network=host  -p 11371:11371  -e "SPRING_PROFILES_ACTIVE=test" --name monitor-msg-consumer   monitor-msg-consumer-img:latest

приложению не удалось найти внешний сервер rabbitMq , работающий в нашей тестовой среде.

Чего мне не хватает?

Я новичок в докере.Итак, будьте осторожны со мной!

Вот журналы из контейнера докера:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.7.RELEASE)
2019-09-30T12:46:43.344207600Z 
12:46:44,049 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@62fdb4a6 - URL [jar:file:/monitor-msg-consumer-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml] is not of type file
12:46:44,053 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [jar:file:/monitor-msg-consumer-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml] 
12:46:44,053 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 30 seconds
12:46:44,054 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
12:46:44,054 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
12:46:44,055 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
12:46:44,056 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
12:46:44,057 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
12:46:44,059 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@500179317 - No compression will be used
12:46:44,061 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@500179317 - Will use the pattern /tmp/archived/monitor_msg_consumer.%d{yyyy-MM-dd}.%i.log for the active file
12:46:44,062 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@31206beb - The date pattern is 'yyyy-MM-dd' from file name pattern '/tmp/archived/monitor_msg_consumer.%d{yyyy-MM-dd}.%i.log'.
12:46:44,067 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@31206beb - Roll-over at midnight.
12:46:44,067 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@31206beb - Setting initial period to Mon Sep 30 12:46:42 UTC 2019
12:46:44,068 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@31206beb - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
12:46:44,068 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@31206beb - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
12:46:44,068 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /tmp/monitor_msg_consumer.log
12:46:44,068 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/tmp/monitor_msg_consumer.log]
12:46:44,069 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [gov.utah.dts.monitor] to DEBUG
12:46:44,069 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e77a1ed - Propagating DEBUG level on Logger[gov.utah.dts.monitor] onto the JUL framework
12:46:44,069 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
12:46:44,069 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
12:46:44,069 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
12:46:44,070 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
12:46:44,070 |-INFO in org.springframework.boot.logging.logback.SpringBootJoranConfigurator@3ffcd140 - Registering current configuration as safe fallback point
2019-09-30 12:46:44 | ERROR | [main] o.s.c.l.LoggingRebinder:83 - Cannot set level: WARN	  #(Options: DEBUG, ERROR, FATAL, INFO, WARN) for 'org.springframework'
12:46:44,074 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@3e77a1ed - Propagating WARN level on Logger[ROOT] onto the JUL framework
2019-09-30 12:46:44 | ERROR | [main] o.s.c.l.LoggingRebinder:83 - Cannot set level: DEBUG  #(Options: DEBUG, ERROR, FATAL, INFO, WARN) for 'gov.utah.dts.monitor'
2019-09-30 12:46:44 | ERROR | [main] o.s.c.l.LoggingRebinder:83 - Cannot set level: DEBUG          #(Options: ALL, DEBUG, ERROR, FATAL, INFO, WARN) for 'gov.utah.dts'
2019-09-30 12:46:44 | INFO  | [main] g.u.d.m.MainApp:651 - The following profiles are active: test
2019-09-30 12:46:54 | INFO  | [main] g.u.d.m.MainApp:59 - Started MainApp in 13.437 seconds (JVM running for 14.251)
12:47:14,053 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 
12:47:44,053 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 
12:48:14,053 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 
12:48:44,054 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 
12:49:14,053 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 
12:49:44,052 |-INFO in ReconfigureOnChangeTask(born:1569847604053) - Empty watch file list. Disabling 

Этот код наводит на мысль, что все идет гладко, но то, что я не вижу на самом сервере rabbitMq, является потребителем, который должен быть этим приложением.Вот почему я считаю, что это не работает.

Когда я запускаю это приложение без докера, я вижу получателя для указанной очереди.

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