春ブーツ+ MySQLの+ドッカー作曲は - 春ブーツは、MySQLに接続させることはできません

スティーブン:

私は、バックエンドの容器と事前に構築されたMySQLのコンテナ(春ブーツ上で実行)との間の接続をセットアップしようとしてきました。しかし、私はそれを接続するために取得することはできません。私のドッキングウィンドウのコンファイルです。

version: '3.7'

services:

  test-mysql:
    image: mysql
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_DATABASE: testdb
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      MYSQL_ROOT_PASSWORD: root

  backend:
    depends_on: 
      - test-mysql
    build: 
      context: backend
      dockerfile: Dockerfile
    ports:
      - "8080:8080"
    restart: always  

volumes:
  db_data: {}

私のapplication.properties:

spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.datasource.url=jdbc:mysql://test-mysql:3306/testdb?autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=test
spring.datasource.password=test

私が使用している場合docker-compose up、春ブーツは、コンテナ名を認識することができませんtest-mysqlこれは、スロー:java.net.UnknownHostException

私はIPに変更した場合、接続が拒否したと言います。私はどこでも見られており、修正が付属していませんでした。私は誰も私を助けることができると思います。ありがとうございました!

CodeWalter:

あなたは、以下のような作曲家・ファイル内のバックエンドのMySQLの性質を言及する必要があり、

backend:
depends_on: 
  - test-mysql
build: 
  context: backend
  dockerfile: Dockerfile
ports:
  - "8080:8080"
restart: always
environment:
        SPRING_DATASOURCE_URL: jdbc:mysql://test- 
           mysql:3306/testdbautoReconnect=true&failOverReadOnly=false&maxReconnects=10
        SPRING_DATASOURCE_USERNAME: test
        SPRING_DATASOURCE_PASSWORD: test
links:
  - test-mysql:test-mysql

この仕事は、共通のドッキングウィンドウのネットワークを作成しようと、以下のようなあなたの作曲ファイルに追加していないならば、

backend:
depends_on: 
  - test-mysql
build: 
  context: backend
  dockerfile: Dockerfile
ports:
  - "8080:8080"
restart: always
environment:
        SPRING_DATASOURCE_URL: jdbc:mysql://test- 
           mysql:3306/testdbautoReconnect=true&failOverReadOnly=false&maxReconnects=10
        SPRING_DATASOURCE_USERNAME: test
        SPRING_DATASOURCE_PASSWORD: test
networks:
      -common-network

test-mysql:
image: mysql
restart: always
volumes:
  - db_data:/var/lib/mysql
environment:
  MYSQL_DATABASE: testdb
  MYSQL_USER: test
  MYSQL_PASSWORD: test
  MYSQL_ROOT_PASSWORD: root
networks:
      -common-network

#Docker Networks
networks:
    common-network:
        driver: bridge

#Volumes
volumes:
    dbdata:
        driver: local

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=387347&siteId=1