簡體   English   中英

連接被拒絕:訪問在Docker容器中運行的Spring Boot應用程序

[英]Connection refused: accessing a spring boot application running in docker container

我的Spring Boot應用程序和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插件來構建docker容器映像。 我的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機器(如https://192.168.99.103:8443/home訪問在docker容器中運行的spring boot應用程序時,出現連接拒絕錯誤ERR_CONNECTION_REFUSED。

我在此配置中缺少什么?

yogsma

我閱讀了您的博客,並提出了解決方案,但是docker-machine ip並沒有解決我的問題。 然后我意識到docker容器無法與127.0.0.1通信並且我使用了它們的容器ip

docker inspect <container_id>

然后找到IpAddress。

這個IP地址解決了我的問題。我不需要使用docker-machine ip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM