一般來說數據最好放在一個公共的地方,這樣在多個docker 可以共享這些數據. 這篇文章就是講怎么從docker 內部去連接host上的 mysql 數據庫. 因為我的host 有public ip, 所以沒有什么特別的東西,直接連接就OK了. 如果是連接內網ip 可能需要一些額外配置,具體沒有試過.
1. 先選一個 python 連接mysql 的module, 考慮到在 怎樣遠程訪問 MySQL 里講到的加密方式不匹配造成的連接不了的問題,就選取了mysql 官方出品的 Connector/Python. 在Docker內部安裝這個包.
pip install mysql-connector-python
2. 嘗試連接, ok. [1]
#!/usr/bin/env python # coding=utf-8 import mysql.connector def connectdb(): print('連接到mysql服務器...') # 打開數據庫連接 # 用戶名:hp, 密碼:Hp12345.,用戶名和密碼需要改成你自己的mysql用戶名和密碼,並且要創建數據庫TESTDB,並在TESTDB數據庫中創建好表Student db = mysql.connector.connect(user="hp", passwd="Hp12345.", database="TESTDB", use_unicode=True) print('連接上了!') return db
Ref: