Docker命令报“不是内部或外部命令”是因PATH环境变量未包含docker.exe路径;需将默认路径如C:\Program Files\Docker\Docker\resources\bin添加至系统Path变量,并重启终端生效。

在Windows命令行中执行Docker常用命令,需确保Docker Desktop已安装并运行,且命令提示符(cmd)或PowerShell能识别docker可执行文件;若输入docker --version报“不是内部或外部命令”,说明环境变量未就绪或Docker服务未启动。
确认Docker服务已就绪
打开命令提示符(cmd),以普通用户身份运行以下命令:
docker version
若返回客户端与服务端的版本信息(含Client和Server两段),说明Docker CLI和服务均正常;若仅报错“Cannot connect to the Docker daemon”,则Docker Desktop未启动——点击系统托盘中的鲸鱼图标,等待状态变为“Docker Desktop is running”。
注意:Docker Desktop必须处于运行状态,【命令行本身不启动Docker服务】,它只是向本地运行的Docker守护进程发送请求。
查看本地镜像与容器状态
列出所有已下载的镜像:
docker images
列出所有容器(含已停止的):
docker ps -a
只看正在运行的容器ID(常用于后续操作快速引用):
docker ps -q
这一步操作起来很简单,直接把命令敲进去回车就行;但要注意docker ps默认不显示已退出容器,漏掉-a可能误判容器是否还存在。
拉取、运行与交互式进入容器
方法一:拉取并立即以后台模式运行Nginx容器,映射主机8080端口到容器80端口:
docker run -d -p 8080:80 --name my-nginx nginx:alpine
方法二:以交互方式启动Ubuntu容器并进入bash shell:
docker run -it ubuntu:22.04 /bin/bash
方法三:进入一个已运行的容器(如上一步起的my-nginx)执行诊断命令:
Docker Hub (hub.docker.com)。此技能适用于所有 Docker Hub 操作,包括读取、创建、更新和删除数据。只要任务涉及 Docker Hub,就使用此技能。
docker exec -it my-nginx sh
⚠️ 注意:docker exec -it要求容器正在运行;若容器已退出,先用docker start my-nginx启动它。
容器生命周期管理(排序操作)
第一步:停止正在运行的容器:
docker stop my-nginx
第二步:强制删除该容器(包括其关联的匿名卷,若存在):
docker rm -fv my-nginx
第三步:清理所有已停止容器(无确认提示,慎用):
docker container prune -f
第四步:删除某镜像(必须确保无容器依赖它,否则会报错):
docker rmi nginx:alpine
这四步是典型运维流,顺序不可颠倒;其中rm -fv的-f参数会跳过确认,【一旦执行无法撤回】,务必核对容器名或ID是否正确。
保存与加载镜像文件
将本地镜像打包为tar文件(便于离线迁移):
docker save -o alpine-nginx.tar nginx:alpine
从tar文件恢复镜像到本地镜像库:
docker load -i alpine-nginx.tar
执行load后不会自动运行容器,只是让docker images能查到它;若想立刻运行,需再执行docker run命令。










