欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

flask mysql docker

林雅南2年前12瀏覽0評論

Flask是一個使用Python編寫的Web框架,而MySQL是一款流行的關系型數據庫管理系統。在將Flask應用部署到生產服務器時,我們需要考慮如何處理數據庫。這時候,Docker就非常有用,可以將Flask和MySQL都打包到容器中,方便管理和部署。

首先,我們需要創建一個Flask應用,并安裝MySQL數據庫驅動。使用命令pip install flask-mysql即可安裝。下面是一個基本的Flask應用,使用MySQL數據庫:

from flask import Flask
from flaskext.mysql import MySQL
app = Flask(__name__)
# MySQL configuration
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'password'
app.config['MYSQL_DATABASE_DB'] = 'test'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql = MySQL()
mysql.init_app(app)
@app.route('/')
def hello_world():
cursor = mysql.get_db().cursor()
cursor.execute('SELECT * FROM users')
result = cursor.fetchall()
return str(result)
if __name__ == '__main__':
app.run()

接下來,我們可以使用Docker Compose來定義Flask和MySQL的容器。

version: '3'
services:
app:
build: .
ports:
- "5000:5000"
depends_on:
- db
environment:
DATABASE_URL: mysql://root:password@db/test
db:
image: mysql:latest
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: test
MYSQL_USER: root
MYSQL_PASSWORD: password

在上面的代碼中,我們定義了兩個服務:app和db。app使用build: .指令來構建Flask應用的Docker鏡像。它還使用depends_on指令來表示它依賴于db服務,也就是MySQL容器。

db服務使用了MySQL官方提供的Docker鏡像。我們設置了MySQL的root密碼,以及要創建的數據庫(test)、用戶名(root)和密碼(password)。

我們還可以在app服務中通過environment指令設置數據庫的連接信息。在Flask應用中使用app.config['MYSQL_DATABASE_HOST']就可以獲取到這些信息,從而連接到MySQL數據庫。

最后,我們可以在終端中使用docker-compose build構建這兩個容器,然后使用docker-compose up啟動它們。通過訪問http://localhost:5000/,我們就可以看到從MySQL數據庫中查詢到的數據了。