
Я изучаю Docker и обнаружил ошибку: я создал базовое приложение Springboot CRUD, которое create, getById и getAll Users, затем настройте Dockerfile, а затем docker-compose.yml. как только я запускаю docker-compose up, он начинает создавать изображения и контейнеры, и я вижу, что они работают отлично (статус работает), но они не создают пользовательские таблицы в MySQL или, проще говоря, он не запускает приложение Springboot, просто работает dockerfile и docker-compose.yml..
Код: Выделить всё
Dockerfile
Код: Выделить всё
FROM openjdk:21
LABEL authors="MohammedKhadeer"
WORKDIR /usr/src/myapp
COPY . /usr/src/myapp/
#ENTRYPOINT ["java", "-jar","./target/docker-0.0.1-SNAPSHOT.jar"]
CMD ["java", "-jar","./target/docker-0.0.1-SNAPSHOT.jar"]
Код: Выделить всё
services:
mydb:
image: mysql:latest
container_name: mysql_database_latest
environment:
- MYSQL_DATABASE = docker-testing
- MYSQL_USER = admin
- MYSQL_PASSWORD = root
- MYSQL_ROOT_PASSWORD = root
restart: unless-stopped
volumes:
- ./data:/var/lib/mysql
ports:
- 3333:3306
networks:
- myapplication
myapp:
build: ./docker
container_name: docker_boot_app
depends_on:
- mydb
environment:
- spring.datasource.url=jdbc:mysql://mydb:3306/docker-testing?createDatabaseIfNotExist=true
- spring.datasource.username=admin
- spring.datasource.password=root
ports:
- 8081:8080
networks:
- myapplication
networks:
myapplication:
Код: Выделить всё
application.property
Код: Выделить всё
spring.application.name=docker
#spring.datasource.url=jdbc:mysql://localhost:3306/docker-testing
#spring.datasource.username=admin
#spring.datasource.password=root
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true


Подробнее здесь: https://stackoverflow.com/questions/784 ... n-database
Мобильная версия