要把 Docker 版本從 29 降到 28,同時保留原本的容器不受影響
要把 Docker 從 29 降到 28,同時保留原本的容器不受影響,核心思路是:容器與映像檔資料都存放在 /var/lib/docker,只要在降版本過程中不刪除這個資料目錄,容器就能繼續使用。
docker --version
sudo systemctl stop docker
雖然不會刪除,但建議先備份:
sudo tar -czvf docker-backup.tar.gz /var/lib/docker
sudo apt remove docker-ce docker-ce-cli containerd.io
apt-cache madison docker-ce
找到 28.x.x 的版本號(例如 5:28.0.0-1~ubuntu.22.04)。
sudo apt install docker-ce=5:28.0.0-1~ubuntu.22.04 \
docker-ce-cli=5:28.0.0-1~ubuntu.22.04 \
containerd.io
sudo systemctl start docker
docker ps -a
原本的容器應該都還在,因為 /var/lib/docker 沒有被刪除。
apt purge 或手動刪除 /var/lib/docker,否則容器與映像檔會消失。✅ 總結:只要在降版本過程中保留 /var/lib/docker,容器與映像檔就不會受影響。
| File12 | File | Last Modified |
|---|---|---|
| 避免 Docker 自動使用 172.x.x.x 這類網段來建立虛擬網路 | 避免 Docker 自動使用 172.x.x.x 這類網段來建立虛擬網路 | 2:24 PM - January 12, 2026 |
| 讓docker 每次建立docker compose 不要使用172.x.x.x來建立 虛擬網路給 containers使用 | 讓docker 每次建立docker compose 不要使用172.x.x.x來建立 虛擬網路給 containers使用 | 2:24 PM - January 12, 2026 |
| 要建立並在背景執行一個 Docker Compose | 要建立並在背景執行一個 Docker Compose | 2:24 PM - January 12, 2026 |
| 完整移除一個 Docker container | 完整移除一個 Docker container | 2:24 PM - January 12, 2026 |
| 完整停止一個 Docker Compose | 完整停止一個 Docker Compose | 2:24 PM - January 12, 2026 |
| 停止一個正在執行的 Docker container | 停止一個正在執行的 Docker container | 2:24 PM - January 12, 2026 |
| Windows containers | Windows containers | 2:24 PM - January 12, 2026 |
| portainer container unreachable問題 | portainer container unreachable問題 | 2:24 PM - January 12, 2026 |
| docker列出 所有容器的網域 (network) 與 IP 位址 | docker列出 所有容器的網域 (network) 與 IP 位址 | 2:24 PM - January 12, 2026 |
| Docker 容器管理速查表 | Docker 容器管理速查表 | 2:24 PM - January 12, 2026 |
| Docker 容器的 虛擬 IP 固定 | Docker 容器的 虛擬 IP 固定 | 2:24 PM - January 12, 2026 |
| docker 列出目前沒有被用的虛擬網路和網域IP | docker 列出目前沒有被用的虛擬網路和網域IP | 2:24 PM - January 12, 2026 |