yogsma
yogsma

Reputation: 10594

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

I have my spring boot application and mysql database running in separate docker containers. I am able to access server database from my host.

My application.properties for Spring boot application looks like below:

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

I am building a docker container image by using maven plugin for docker. My Dockerfile looks like below:

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"]

I am starting docker container for spring boot application like below:

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

and if I do docker ps -a, I get following output

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

Now when I access my spring boot application running inside docker container from my windows machine like https://192.168.99.103:8443/home, I get connection refused error ERR_CONNECTION_REFUSED.

What am I missing in this configuration?

Upvotes: 2

Views: 11953

Answers (1)

Gökhan Ayhan
Gökhan Ayhan

Reputation: 1299

yogsma

I read your blog, and apply your solve, but docker-machine ip didn't solve my problem. Then I realize docker containers can't communicate with 127.0.0.1 and I use their container ip

docker inspect <container_id>

then find IpAddress.

This ip address is solves my problem.I dont need to use docker-machine ip

Upvotes: 6

Related Questions