Docker compose file
version: '1'
services:
mysqldb:
build:
context: ./database
dockerfile: database.Dockerfile
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
start_period: 20s
interval: 5s
timeout: 10s
retries: 55
networks:
- devNetwork
springapp:
build:
context: .
dockerfile: Dockerfile
depends_on:
mysqldb:
condition: service_completed_successfully
networks:
- devNetwork
environment:
- MYSQL_URL=jdbc:mysql://mysqldb:3306/task_base?serverTimezone=UTC
- MYSQL_USER=root
- MYSQL_PASSWORD=mysql@sit
networks:
devNetwork:
driver: bridge
Dockerfile
FROM maven:3.8.3-openjdk-17
LABEL authors="Akkarawit"
COPY . ./backEndAPI
WORKDIR /backEndAPI
ENV MYSQL_URL=jdbc:mysql://mysqldb:3306/task_base?serverTimezone=UTC
ENV MYSQL_USER=root
ENV MYSQL_PASSWORD=mysql@sit
RUN echo "MYSQL_URL: $MYSQL_URL"
RUN echo "MYSQL_USER: $MYSQL_USER"
RUN echo "MYSQL_PASSWORD: $MYSQL_PASSWORD"
RUN mvn clean package
ENTRYPOINT ["java","-jar","/*.jar"]
EXPOSE 8080
database.Dockerfile
FROM mysql/mysql-server:latest
COPY ./my.cnf /etc/
VOLUME ./mysql-lib /var/lib/mysql
COPY ./dbscript-v1.sql /docker-entrypoint-initdb.d/
ENV MYSQL_ROOT_PASSWORD=mysql@sit
EXPOSE 3306
this is file for create image database ——————————————————————————————————————————————————————————————————————————————
Error
37.14 [INFO] Running sit.int221.ItbKkApplicationTests
37.37 07:27:53.909 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [sit.int221.ItbKkApplicationTests]: ItbKkApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
37.57 07:27:54.070 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration sit.int221.ItbKkApplication for test class sit.int221.ItbKkApplicationTests
37.77 07:27:54.276 [main] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running
38.17 2024-04-24T07:27:54.711Z INFO 69 --- [ITB-KK] [ main] sit.int221.ItbKkApplicationTests : Starting ItbKkApplicationTests using Java 17.0.1 with PID 69 (started by root in /backEndAPI)
38.17 2024-04-24T07:27:54.719Z INFO 69 --- [ITB-KK] [ main] sit.int221.ItbKkApplicationTests : No active profile set, falling back to 1 default profile: "default"
39.57 2024-04-24T07:27:56.050Z INFO 69 --- [ITB-KK] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
39.57 2024-04-24T07:27:56.113Z INFO 69 --- [ITB-KK] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 54 ms. Found 1 JPA repository interface.
40.27 2024-04-24T07:27:56.781Z INFO 69 --- [ITB-KK] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
40.37 2024-04-24T07:27:56.847Z INFO 69 --- [ITB-KK] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.4.4.Final
40.37 2024-04-24T07:27:56.918Z INFO 69 --- [ITB-KK] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled
40.77 2024-04-24T07:27:57.263Z INFO 69 --- [ITB-KK] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer
40.77 2024-04-24T07:27:57.300Z INFO 69 --- [ITB-KK] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
41.98 2024-04-24T07:27:58.510Z ERROR 69 --- [ITB-KK] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
41.98
41.98 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
41.98
41.98 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
41.98 at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:815) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:438) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) ~[mysql-connector-j-8.3.0.jar:8.3.0]
41.98 at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100) ~[HikariCP-5.0.1.jar:na]
41.98 at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-5.0.1.jar:na]
It error when I run docker compose up. please help me