---
# System prepended metadata

title: 在 VS Code 中使用 Docker 容器執行 Python

---

# 在 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   # 删除未使用的網路
```