Я изучаю SpringBoot и создаю приложение, которое должно подключаться к API Springboot. У меня нет проблем при локальном запуске моего API, но когда я использую Docker, он не может найти базу данных.
Изменить: мне удалось запустить образ в Docker. Я не знаю, почему это не сработало, когда я тестировал его в первый раз, но теперь после перезагрузки компьютера он работает нормально. Однако когда я загружаю изображение в DockerHub с помощью действий Github и извлекаю его с помощью Docker Desktop, оно не может подключиться к BDD с той же ошибкой.
Вот мой maven-publish.yml
name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup JDK 21
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'temurin'
- name: Running Unit Tests
run:
mvn -f pom.xml clean test
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Build with Maven
run: mvn -f pom.xml clean package
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.12.0
- name: Login to Docker Hub
uses: docker/login-action@v3.7.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v6.19.2
with:
context: .
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/api-project-pmt:latest
Вот мой pom.xml,
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.5.13
com.iscod
api-project-pmt
1.0.0
api-project-pmt
The backend API of project PMT
[*]
21
com.h2database
h2
runtime
org.springframework.boot
spring-boot-starter-data-jpa