# 在 VS Code 中使用 Docker 容器執行 Python ## 1. 設定 Docker 環境 在 VS Code 中,希望透過 **Docker 容器** 執行 Python 程式,並將輸出結果顯示於終端機。 ## 2. 建立 `Dockerfile` ```dockerfile # 使用 Python 官方映像 FROM python:3.11 # 設定工作目錄 WORKDIR /app # 複製專案所有內容到容器內 COPY . . # 預設執行 Python(可執行不同的 .py 檔) ENTRYPOINT ["python"] ``` ## 3. 建立映像檔(Image) ```sh docker build -t <Image名稱> . ``` ## 4. 執行 Python 檔案 ```sh docker run --rm <Image名稱> <要執行的檔案.py> ``` ### 參數說明: - `--rm`:執行完畢後,會自動刪除容器,避免佔用過多資源。 ## 5. 更新程式碼後重啟映像檔(Image) ```sh docker restart <容器ID/名稱> ``` ## 6. 設定 Shell Alias(快速指令) 若不想每次輸入冗長的指令,可以在終端機設定快速指令。 ### **Windows(PowerShell)設定** ```powershell function pyc { docker run --rm <Image名稱> $args } ``` 📌 **這裡的關鍵部分:** - `function pyc { ... }` → 定義一個名為 `pyc` 的 PowerShell 函式。 - `docker run --rm <Image名稱> $args` → 執行 Docker 容器,並傳入 `$args`(命令列參數)。 此設定只會在**當前終端機會話**有效,關閉終端機後會消失。 ### **使用方式** ```sh pyc for.py ``` ## 7. 上傳映像檔到 Docker Hub 若希望共享 Image,可透過 `docker tag` 及 `docker push` 上傳至 Docker Hub。 ```sh docker tag docker-python <使用者名稱/資料庫名稱> docker push <使用者名稱/資料庫名稱> ``` 這樣其他人就可以直接從 Docker Hub 下載並使用該 Python 環境。 ## 8. 下載映像檔 若希望共享 Image,可透過Docker Hub下載下來並使用。 ```sh docker pull <使用者名稱/資料庫名稱> ``` ## 9. 清理無用的資源 ```sh docker system prune -f # 清理所有未使用的容器、網路、映像檔等 docker container prune -f # 删除所有已停止的容器 docker image prune -a -f # 删除所有未被使用的映像檔 docker volume prune -f # 删除未使用的目錄/卷 docker network prune -f # 删除未使用的網路 ```