確認都有右側檔案後就可以執行
<aside> 🐋
docker-compose up -d --build
</aside>
成功後

只要跟你同個VLAN的人,就都可以透過:
IP:5000 來連到你的網站了!
可以執行
docker-compose down -v刪除前一次的容器
若出錯可以深度清理記憶體 docker builder prune -f

version: '3.8'
services:
# 資料庫服務
db:
image: mysql:8.0
container_name: mysql_db
restart: always
environment:
MYSQL_DATABASE: my_shop # 資料庫名稱
MYSQL_ROOT_PASSWORD: 11256040 # 資料庫密碼
ports:
- "3307:3306" # 右邊是本機跑的服務
volumes:
- db_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql # 將你的資料庫輸出成.sql
# Flask 後端服務
flask_app:
build: .
container_name: flask_backend
restart: always
ports:
- "5000:5000"
environment:
# 這裡的 HOST 要填上面定義的服務名稱 "db"
DB_HOST: db
DB_USER: root
DB_PASSWORD: 11256040
DB_NAME: my_shop
depends_on:
- db
volumes:
db_data:
# 使用輕量級 Python 映像檔
FROM python:3.9-slim
# 設定工作目錄
WORKDIR /app
# 複製 requirements.txt 並安裝套件
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 複製所有程式碼到容器內
COPY . .
# 暴露 Flask 預設的 5000 埠
EXPOSE 5000
# 啟動指令
CMD ["python", "app.py"]
flask
flask-cors
flask-mail
mysql-connector-python
python-dotenv
# 資料庫設定
DB_HOST=127.0.0.1
DB_USER=root
DB_PASSWORD=你的密碼
DB_NAME=shop_db
# Email 設定
[email protected]
MAIL_PASSWORD=16位密碼
[email protected]
FLASK_APP=app.py
FLASK_DEBUG=1