Docker Devcontainer 管理命令
通用命令(單行)
停止相關的 devcontainer 容器
bash
docker stop $(docker ps -a -q --filter "label=devcontainer.config_file=$(pwd)/.devcontainer/devcontainer.json" 2>/dev/null) 2>/dev/null || docker stop $(docker ps -a -q --filter "label=devcontainer.local_folder=$(pwd)" 2>/dev/null) 2>/dev/null || echo "沒有找到需要停止的容器"
停止並刪除相關的 devcontainer 容器
bash
docker rm -f $(docker ps -a -q --filter "label=devcontainer.config_file=$(pwd)/.devcontainer/devcontainer.json" 2>/dev/null) 2>/dev/null || docker rm -f $(docker ps -a -q --filter "label=devcontainer.local_folder=$(pwd)" 2>/dev/null) 2>/dev/null || echo "沒有找到需要刪除的容器"
停止所有包含項目名稱的容器(最通用的方法)
bash
docker ps -a -q --filter "name=vsc-$(basename $(pwd))" | xargs -r docker stop
刪除所有包含項目名稱的容器(最通用的方法)
bash
docker ps -a -q --filter "name=vsc-$(basename $(pwd))" | xargs -r docker rm -f
使用管理腳本(推薦)
停止容器
bash
.devcontainer/docker_manage.sh stop
刪除容器
bash
.devcontainer/docker_manage.sh remove
停止以便重新啟動
bash
.devcontainer/docker_manage.sh restart
最簡單的通用命令(推薦)
如果你只想停止之前的容器,使用這個最簡單的命令:
bash
# 停止所有相關容器(如果存在)
docker ps -a -q --filter "label=devcontainer.config_file=$(pwd)/.devcontainer/devcontainer.json" 2>/dev/null | xargs -r docker stop || true
或者更通用的方法(不依賴標籤):
bash
# 停止並刪除包含項目名稱的所有容器
docker ps -a -q --filter "name=vsc-$(basename $(pwd))" | xargs -r docker stop 2>/dev/null || true
docker ps -a -q --filter "name=vsc-$(basename $(pwd))" | xargs -r docker rm -f 2>/dev/null || true