容器常見問題
映像檔拉取失敗
中國大陸的伺服器無法連線 Docker Hub,需要設定映像檔加速。
Docker
應用程式 -> Docker -> 管理 -> 基本設定 -> 映像檔加速,加入映像檔位址(內建了預設值,例如 https://docker.1ms.run),然後點選儲存。
你也可以在設定檔分頁下直接編輯設定檔(/etc/docker/daemon.json):
json
{
"registry-mirrors": [
"https://docker.1ms.run"
]
}Podman
應用程式 -> Podman -> 管理 -> 登錄檔設定,在結尾處加入:
toml
[[registry]]
location = "docker.io"
[[registry.mirror]]
location = "docker.1ms.run"映像檔加速位址可以使用 1ms Mirror 或其他服務。
Compose 啟動失敗
- 點選啟動後,在彈出的終端機中觀察即時輸出,或在容器 -> 容器中檢視它建立的容器日誌
- 常見原因:
- 連接埠被占用:修改對應的連接埠
- 映像檔拉取失敗:設定映像檔加速
- 設定錯誤:檢查 docker-compose.yml 語法
無法存取容器
- 檢查容器是否正在執行:在容器 -> 容器清單中檢視狀態
- 檢查連接埠對應是否正確
- 檢查防火牆是否已放行對應的主機連接埠
容器無法存取外部網路
檢查 Docker 網路設定:
shell
docker network ls
docker network inspect bridge透過面板建立容器時,網路選擇器預設使用內建的 acepanel-network(你也可以選擇其他網路)。 Compose 編排不會被強制接入此網路——除非 compose 檔案另有指定,否則 Docker Compose 會為每個專案建立獨立的網路。 檢視網路詳細資訊:
shell
docker network inspect acepanel-networkacepanel-network 是面板本身使用的網路,因此受刪除保護:在容器 -> 網路中其刪除按鈕會被停用,批次刪除時也會被略過,而且後端會拒絕任何刪除它的請求,以免破壞容器編排。
資料持久化
刪除容器後資料將會遺失。 使用磁碟區掛載來持久化資料:
在 compose 設定中加入磁碟區:
yaml
volumes:
- ./data:/app/data檢視容器日誌
shell
docker logs container-name-or-id
docker logs -f container-name-or-id # 即時檢視或在面板容器 -> 容器清單中點選日誌。
