亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Docker compose for mysql 和 spring 應用程序拒絕訪問

Docker compose for mysql 和 spring 應用程序拒絕訪問

忽然笑 2021-10-20 14:29:29
我有一個用于MySQL + Spring boot應用程序的 docker compose :這是我的docker-compose.yaml樣子version: "3.3"services:  docker-mysql:    image: mysql:5.7    environment:      MYSQL_ROOT_PASSWORD: 'pass'      MYSQL_DATABASE: 'test'    volumes:      - /var/lib/mysql    ports:      - 3306:3306  my-app:    build: .    depends_on:      - docker-mysql    ports:      - 8080:8080restart: on-failure這是我的 Dockerfile:FROM openjdk:8EXPOSE 8080ADD /target/app-0.0.1.jar app.jarENTRYPOINT ["java","-jar","app.jar"]這是application.properties我的應用程序的:spring.jpa.database=MYSQLspring.jpa.show-sql=truespring.datasource.url=jdbc:mysql://docker-mysql:3306/test?characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=rootspring.jpa.hibernate.ddl-auto=nonespring.datasource.driverClassName=com.mysql.jdbc.Driver但是當我運行容器時,docker-compose up應用程序遇到訪問被拒絕:Access denied for user 'root'@'172.20.0.3' (using password: NO)在日志文件中,mysql用空密碼創建![Warning] root@localhost is created with an empty password !
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

您應該更改以下屬性以使用您在 docker-mysql 中定義的用戶和傳遞。


spring.datasource.password=pass

此外,links在您的 spring-boot 應用程序中添加該選項。


depends_on:

  - docker-mysql

links:

  - docker-mysql

我認為這并不重要,但文檔中的示例使用不帶引號的密碼。如果以上失敗,請嘗試。


查看完整回答
反對 回復 2021-10-20
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

您需要使用 root 用戶訪問 mysql,因此使用 mysql root 用戶運行以下命令:


GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.20.0.3'

    IDENTIFIED BY 'pass' 

    WITH GRANT OPTION;

FLUSH PRIVILEGES;

請檢查!


查看完整回答
反對 回復 2021-10-20
  • 2 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號