Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Spring Boot không thể kết nối với MySQL và các lần thoát trong Docker / Docker soạn

Bạn đang chuyển DATABASE_HOST , DATABASE_PORT , DATABASE_NAME , DATABASE_USERDATABASE_PASSWORD nhưng bạn không sử dụng nó trong ứng dụng của mình.

Cập nhật thuộc tính của bạn như thế này. (Tốt hơn nếu bạn tạo một hồ sơ để ứng dụng của bạn chạy bên ngoài docker)

spring.datasource.url=jdbc:mysql://${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}?autoReconnect=true
spring.datasource.username=${DATABASE_USER}
spring.datasource.password=${DATABASE_PASSWORD}

Nếu bạn thực sự muốn sử dụng localhost db_url của bạn . Bạn cũng có thể sử dụng network_mode: "service:[service name]" thuộc tính của docker soạn. Chỉ có một nhược điểm là không thể sử dụng thuộc tính này với port tài sản.

version: '3'

services: 
  docker-mysql:
    image: mysql:latest
    network_mode: "service:spring-boot-jpa-docker-webapp"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - MYSQL_PASSWORD=root
  spring-boot-jpa-docker-webapp:
    image: springboot_docker
    depends_on:
      - docker-mysql
    ports:
      - 8080:8080
      - 3306 #Add this only if you want to expose the mysql to outer world.
    environment:
      - DATABASE_USER=root
      - DATABASE_PASSWORD=root
      - DATABASE_NAME=test

Và tệp thuộc tính của bạn có thể trông giống như

spring.datasource.url=jdbc:mysql://localhost:3306/${DATABASE_NAME}?autoReconnect=true
spring.datasource.username=${DATABASE_USER}
spring.datasource.password=${DATABASE_PASSWORD}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. COUNT (*) trả về nhiều hàng thay vì chỉ một hàng

  2. Sử dụng MySQL C API - kiểm tra thành công của việc chèn các hàng bằng cách sử dụng các câu lệnh đã chuẩn bị

  3. Ruby mysql2 nhiều câu lệnh trong một truy vấn

  4. Cách tạo phân trang bằng PDO PHP

  5. Di chuyển dữ liệu vào Firebase từ MySQL