docker compose mysql_在docker / docker-compose中连接Python和MySQL

之前,我使用其他mysql容器创建了命名卷和数据库:’mysql-db1′.

我无法从python连接到数据库.

我的.yml文件:

version: '3.6'

services:

python:

image: python:latest

ports:

- '80:80'

volumes:

- type: bind

source: .

target: /scripts

command: tail -f /dev/null

links:

- 'mysql'

mysql:

image: mysql/mysql-server:latest

ports:

- '3306:3306'

environment:

MYSQL_ROOT_PASSWORD: root

volumes:

- type: volume

source: mysql-db1

target: /var/lib/mysql

volumes:

mysql-db1:

external: true

我的简单python代码:

import mysql.connector

cnx = mysql.connector.connect(user='root', password='root', host='mysql', database='test1')

cnx.close()

我可以使用以下方法输入数据库:

$docker-compose exec mysql bash

# mysql -uroot -proot -Dtest1

错误:

mysql.connector.errors.DatabaseError: 1130 (HY000): Host '172.18.0.3' is not allowed to connect to this MySQL server

哪里有问题?


版权声明:本文为weixin_39966163原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。