我正在尝试dockersize powerdns admin,它需要通过sqlalchemy连接到我的mariadb。
docker编写:
docker-compose.yml
version: "3"
services:
app:
image: ngoduykhanh/powerdns-admin:latest
container_name: powerdns_admin
ports:
- "9191:80"
logging:
driver: json-file
options:
max-size: 50m
environment:
- SQLALCHEMY_DATABASE_URI=mysql://root:dbpass@127.0.0.1/powerdns
- GUNICORN_TIMEOUT=60
- GUNICORN_WORKERS=2
- GUNICORN_LOGLEVEL=DEBUG
- OFFLINE_MODE=False # True for offline, False for external resources
当我运行docker compose up时,它只输出以下错误:
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2002, "Can't connect to MySQL server on '127.0.0.1' (115)")
当我执行mysql -uroot -pdbpass
操作时,我可以成功连接。
我也一样:
mysql -uroot -pdbpass -h 127.0.0.1
mysql -uroot -pdbpass -h localhost
怎么了
当您运行docker容器时,您会发现它的行为非常像一台单独的机器。当您尝试连接到127.0.0.1时,您正在尝试连接到容器本身。由于容器不包含数据库,因此连接失败
从容器内部,您可以访问ip地址为172.17.0.1的主机。所以您的数据库URI应该是
相关问题 更多 >
编程相关推荐