Có hai vấn đề tôi có thể thấy:
-
Cố gắng thêm
Các liên kếtlinks: - mysql:mysql
vào ứng dụng
app
dịch vụ trong tệp Docker Compose của bạn. Điều này sẽ đảm bảo rằng bạn có thể truy cậpmysql
vùng chứa từ ứng dụngapp
. Nó sẽ thiết lập ánh xạ tên máy chủ (DNS) trong ứng dụngapp
của bạn vùng chứa, vì vậy khi bạnping mysql
từ ứng dụngapp
, nó sẽ giải quyết nó thànhmysql
địa chỉ IP của vùng chứa. -
Trong
.py
của bạn tệp, bạn đang xác định máy chủ lưu trữ để kết nối ở đâu? Thêmhost="mysql"
vớiconnect
gọi điện. Theo mặc định, nó sẽ kết nối với127.0.0.1
, đó là những gì bạn đang thấy.cnx = mysql.connector.connect(host="mysql", user="root", password = 'root', database=malicious)
Khắc phục cả hai điều này sẽ giải quyết được vấn đề của bạn.