Hi everyone, i am currently build this docker but get some trouble like this:
Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
101.0
101.0 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
101.0 at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
101.0 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
101.0 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815)
101.0 at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:438)
101.0 at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
101.0 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189)
101.0 at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
101.0 at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359)
101.0 at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
101.0 at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470)
101.0 at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
101.0 at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100)
101.0 at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
101.0 at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
101.0 at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:428)
101.0 at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46)
101.0 ... 63 more
101.0 Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
101.0
101.0 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
101.0 at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
101.0 at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
101.0 at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
101.0 at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:104)
101.0 at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:149)
101.0 at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165)
101.0 at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88)
101.0 at com.mysql.cj.NativeSession.connect(NativeSession.java:120)
101.0 at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935)
101.0 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:805)
101.0 ... 76 more
101.0 Caused by: java.net.UnknownHostException: db
101.0 at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:801)
101.0 at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1509)
Here is my dockerfile and docker-compose:
FROM maven:3.8.1-openjdk-17 AS build
WORKDIR /app
COPY . .
RUN mvn clean package
FROM openjdk:17-jdk-alpine
WORKDIR /app
COPY --from=build /app/target/*.jar /app/app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
version: '3.8'
services:
# Database
db:
image: mysql
container_name: swd391-mysql
restart: always
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306:3306'
environment:
MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASS:-password}
MYSQL_DATABASE: ${DATABASE_NAME:-swd391}
MYSQL_USER: ${DATABASE_USER:-dbuser}
MYSQL_PASSWORD: ${DATABASE_PASS:-dbpass}
TZ: 'Asia/Ho_Chi_Minh'
networks:
- default
# we mount a data volume to make sure we don't lose data
volumes:
- ./mysql_data:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
# phpmyadmin
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
container_name: swd391-phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
TZ: 'Asia/Ho_Chi_Minh'
networks:
- default
# Spring
app:
build: .
ports:
- '8888:8080'
environment:
- TZ=Asia/Ho_Chi_Minh
depends_on:
- db
container_name: swd391-app
restart: always
networks:
- default
# Nginx
nginx:
image: 'jc21/nginx-proxy-manager:latest'
container_name: swd391-nginx
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./nginx.conf/data:/data
- ./nginx.conf/letsencrypt:/etc/letsencrypt
depends_on:
- app
networks:
- default
networks:
default:
Comment From: wilkinsona
Thanks for getting in touch, but it feels like this is a question that would be better suited to Stack Overflow. As mentioned in the guidelines for contributing, we prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it) or add some more details if you feel this is a genuine bug.