一般来说数据最好放在一个公共的地方,这样在多个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: