Python 讀寫 SQLite(Docker 最簡單範例)
這是一個 最簡單的 Python 程式,可以在 Docker 容器中讀取與寫入 SQLite 資料庫。
1. 建立專案目錄
首先,在 Windows 命令提示字元 (cmd) 或 PowerShell 建立專案資料夾:
mkdir C:\sqlite_docker
cd C:\sqlite_docker
2. 建立 Python 讀寫 SQLite 檔案
在 C:\sqlite_docker
內建立 app.py
:
import sqlite3
# 設定 SQLite 資料庫檔案
DB_FILE = "test.db"
# 連接資料庫(如果不存在則自動建立)
conn = sqlite3.connect(DB_FILE)
cursor = conn.cursor()
# 建立表格(如果不存在)
cursor.execute('''
CREATE TABLE IF NOT EXISTS messages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
text TEXT NOT NULL
)
''')
# 插入測試資料
cursor.execute("INSERT INTO messages (text) VALUES (?)", ("Hello, SQLite in Docker!",))
conn.commit()
# 讀取所有資料
cursor.execute("SELECT * FROM messages")
rows = cursor.fetchall()
# 顯示結果
print("=== SQLite 資料庫內容 ===")
for row in rows:
print(row)
# 關閉連接
conn.close()
3. 建立 Dockerfile
在 C:\sqlite_docker
內建立 Dockerfile
:
# 使用 Python 3.10 作為基礎映像
FROM python:3.10
# 設定工作目錄
WORKDIR /app
# 複製當前目錄的所有檔案到容器內
COPY . .
# 安裝 SQLite3(Python 內建支援,不需要額外安裝)
# 確保資料庫文件存在
RUN touch test.db
# 執行 Python 腳本
CMD ["python", "app.py"]
4. 建立 Docker 映像檔
回到 PowerShell,進入 C:\sqlite_docker
:
cd C:\sqlite_docker
執行:
docker build -t sqlite_test .
這會 建立 Docker 映像檔,名稱為 sqlite_test
。
5. 運行 Docker 容器
docker run --rm -v C:\sqlite_docker:/app sqlite_test
這樣:
--rm
:執行結束後自動刪除容器-v C:\sqlite_docker:/app
:將本機目錄掛載到容器,確保 SQLite 資料庫test.db
可持久保存
預期輸出:
=== SQLite 資料庫內容 ===
(1, 'Hello, SQLite in Docker!')
這代表:
- 成功建立
test.db
- 寫入了一筆測試數據
- 成功讀取數據
6. 檢查 SQLite 資料庫
如果你想檢查 test.db
內的內容,執行:
sqlite3 C:\sqlite_docker\test.db
然後在 SQLite 交互模式中輸入:
SELECT * FROM messages;
你應該會看到:
1|Hello, SQLite in Docker!
輸入 .exit
離開 SQLite。
7. 停止 & 刪除容器
因為我們用了 --rm
,所以容器執行完畢後會自動刪除。
如果你想讓容器持續運行,請改用:
docker run -d -p 5000:5000 -v C:\sqlite_docker:/app sqlite_test
然後用:
docker ps
來查看運行中的容器。
🚀 總結
✅ 這個範例使用 Python 讀寫 SQLite,並執行在 Docker 容器中
✅ SQLite 資料庫 (test.db
) 存放在本機 (C:\sqlite_docker
),確保資料不會因容器刪除而遺失
✅ Dockerfile 非常簡單,只需 Python + SQLite
即可運行
這樣你的 Python + SQLite + Docker 最簡單範例就完成了!🚀
沒有留言:
張貼留言