出现这个问题的原因是在Docker Compose环境中,MariaDB容器和其他容器处于同一网络中,但是没有正确设置容器之间的连接。
要解决这个问题,需要在Docker Compose文件中设置正确的连接参数。例如:
version: '3'
services:
db:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: examplepass
ports:
- "3306:3306"
networks:
- mynetwork
app:
image: my-app
depends_on:
- db
networks:
- mynetwork
environment:
DATABASE_URL: mysql://root:examplepass@db:3306/mydb
networks:
mynetwork:
driver: bridge
在这个例子中,db
服务是MariaDB容器,app
服务是一个连接到MariaDB的应用程序容器。两个容器都属于名为mynetwork
的网络。注意,在app
服务的环境变量中,DATABASE_URL
被设置为连接MariaDB的URL,应该使用db
作为MariaDB容器的主机名,而不是使用IP地址。
通过正确地设置连接参数,就可以避免“不允许连接到此MariaDB服务器Docker Compose”的问题。