连接被拒绝:访问运行在docker容器中的spring引导应用程序

我有我的春季启动应用程序和MySQL数据库运行在不同的docker容器。 我能够从我的主机访问服务器数据库。

Spring应用程序的application.properties如下所示:

spring.datasource.url=jdbc:mysql://benefitsmysql:3308/benefitsmysql spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect # ==================================================================================== # = SSL Configuration # ==================================================================================== #security.basic.enabled=false server.port=8443 server.ssl.key-store=keystore.jks server.ssl.key-store-password=******* server.ssl.keyStoreType=jks server.ssl.keyAlias=tomcatselfsigned 

我正在通过使用docker的maven插件来构builddocker容器的图像。 我的Dockerfile如下所示:

 FROM java:8 VOLUME /tmp ADD Benefits.jar Benefits.jar EXPOSE 8443 RUN bash -c 'touch /Benefits.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/Benefits.jar"] 

我开始像下面的春季启动应用程序的docker容器:

 docker run -p 8443:8443 --name benefits --link benefitsmysql:mysql -d c794a4d0c634 

如果我做docker ps -a ,我得到以下输出

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8070c575b6dd c794a4d0c634 "java -Djava.secur..." 2 minutes ago Up 2 minutes 0.0.0.0:8443->8443/tcp benefits aa417df08b94 mysql:5.6 "docker-entrypoint..." 2 days ago Up 2 days 0.0.0.0:3308->3306/tcp benefitsmysql f55a2a7ac487 hello-world "/hello" 2 days ago Exited (0) 2 days ago gifted_lalande 

现在,当我访问我的Windows机器运行在Docker容器中的弹簧启动应用程序,如https://192.168.99.103:8443/home ,我得到连接拒绝错误ERR_CONNECTION_REFUSED。

我在这个configuration中错过了什么?

yogsma

我读你的博客,并申请你的解决,但docker机IP没有解决我的问题。 然后我意识到docker集装箱不能与127.0.0.1沟通,我使用他们的集装箱IP

 docker inspect <container_id> 

然后findIpAddress。

这个IP地址是解决我的问题。我不需要使用docker机器IP