Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्प्रिंग बूट MySQL से कनेक्ट नहीं हो सकता है और डॉकर/डॉकर कंपोज़ में बाहर निकलता है

आप DATABASE_HOST पास कर रहे हैं , DATABASE_PORT , DATABASE_NAME , DATABASE_USER और DATABASE_PASSWORD लेकिन आप इसे अपने ऐप के अंदर उपयोग नहीं कर रहे हैं।

इस तरह अपनी संपत्तियों को अपडेट करें। (बेहतर है यदि आप एक प्रोफ़ाइल बनाते हैं ताकि आप ऐप डॉकटर के बाहर चले)

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

यदि आप वास्तव में localhost का उपयोग करना चाहते हैं आपके db_url . के रूप में . आप network_mode: "service:[service name]" . का भी उपयोग कर सकते हैं डोकर रचना की संपत्ति। केवल नकारात्मक पक्ष यह है कि इस संपत्ति का उपयोग port . के साथ नहीं किया जा सकता है संपत्ति।

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

और आपकी प्रॉपर्टी फ़ाइल कुछ इस तरह दिख सकती है

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. त्रुटि प्राप्त करना कमांड सिंक से बाहर हो रहा है, अब आप mysql/PHP में संग्रहीत कार्यविधि को निष्पादित करते समय कमांड नहीं चला सकते हैं

  2. mysql तालिका से php सरणियों में पंक्तियाँ प्राप्त करें

  3. Django MySQLdb अजगर मॉड्यूल खोजने में असमर्थ

  4. Laravel 4 के साथ खोज कार्यक्षमता बनाना

  5. MySQL:अपर कैमल केस (पास्कल केस) में टेबल को नाम नहीं दे सकता