我有一个配置了Spring Boot + Email的微服务。
我有一个问题,我可以在虚拟机中直接将电子邮件微服务部署到docker,它可以连接到我的电子邮件并将电子邮件发送到不同的收件箱。
但是,一旦我以docker群模式在相同的VM上部署了相同的微服务,该微服务就不会连接到我的电子邮件,因此无法发送电子邮件。微服务无法解析电子邮件主机并给出超时异常。我需要更改什么才能使连接发生?
我的docker-compose.yml文件:
version: '3'
services:
email-api:
image: xxx/email-api:1.0.0
ports:
- "8081:8080"
environment:
- EUREKA_SERVER=http://192.168.99.105:8761/eureka
networks:
- network-eureka
deploy:
mode: replicated
replicas: 1
update_config:
parallelism: 2
delay: 10s
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
placement:
constraints: [node.role == worker]
networks:
network-eureka:
volumes:
mongo_email_data:
external: true
以下是尝试连接时的日志文件:
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | 2020-02-24 19:14:27.409 TRACE 1 --- [nio-8080-exec-1] com.sun.mail.util.socket : connection failed
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 |
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | java.net.UnknownHostException: mail.nguni52.co.za
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at java.net.Socket.connect(Socket.java:538) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:359) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2175) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:740) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at javax.mail.Service.connect(Service.java:366) [javax.mail-1.6.2.jar!/:1.6.2]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:517) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:436) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:360) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:377) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:365) [spring-context-support-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.antech.broker.crm.email.service.EmailService.sendNewUserEmail(EmailService.java:174) [classes!/:1.0.0]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at com.antech.broker.crm.email.controller.EmailController.sendNewUserEmail(EmailController.java:177) [classes!/:1.0.0]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEASE]
dev-broker_brokercrm-email-api.1.r0dl707sue42@local-broker-swarm-3 | at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.1.7.RELEASE.jar!/:5.1.7.RELEAS