: - MYSQL_ROOT_PASSWORD =通过 - MYSQL_DATABASE = CMDB </跨度> - MYSQL_USER = cmdb_user - MYSQL_PASSWORD =通过 端口: - 3306:3306 API: container_name:backend-api image:shaunyl:jdbc:mariadb:// db:3306 / CMDB </跨度> &安培; useSSL = FALSE 用户名:cmdb_user 密码:通过 driver-class-name:org.mariadb.jdbc.Driver
你知道问题是什么吗?谢谢
编辑1:产出的输出
从日志中,您的服务仍在尝试联系 localhost 但不是 db 。您确定要重建JAR文件和/或泊坞窗图像吗?可能你的docker-compose仍在使用旧配置运行过时的图像。
localhost
db
请记住 docker-compose up 仅检测您的docker-compose文件更改 - 它对您的JAR文件或Dockerfile更改一无所知。
docker-compose up
听起来您需要配置数据库以接受非本地主机连接。
在容器内部,找到此文件: 的 /etc/my.cnf中 强> 并评论出来 的 跳过网络 强> 和 的 绑定地址 强> 属性。
[mysqld] ... #skip-networking ... #bind-address = <some ip-address> ...
之后,您需要授予对您的用户(或您要用于远程连接的任何其他用户)的访问权限。声明是这样的:
PRIVILEGES ON *.* TO 'root'@'192.168.100.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
您可以在此处找到更多详细信息: https://mariadb.com/kb/en/library/configuring-mariadb-for-remote-client-access/
希望能帮助到你!