Windows10下docker desktop命令行操作指南(大部分也适用于Linux)

Windows系统最大的特点就是可视化操作,点点鼠标就能操作软件。但是在特殊的情况下,比如docker desktop图标点了之后没反应,但是看后台程序,它又已经运行了,这时候就要使用命令行来操作了。

针对这次情况,所做的操作:先尝试在任务管理器里找到docker desktop,结束任务。但是后台任务还在执行。后来是结束了docker desktop backend,才彻底结束了它。然后再点图标启动,终于正常了。

尽管现在已经可以用视图操作,还是来学习实践一下命令行的操作。

首先看看docker的信息:

使用docker info命令

复制代码
docker info
Client:
 Version:    27.4.0
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  ai: Ask Gordon - Docker Agent (Docker Inc.)
    Version:  v0.5.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-ai.exe
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.19.2-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe

看看当前docker的容器存盘文件

复制代码
docker images

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.all-hands.dev/all-hands-ai/openhands 0.28 a25b686e60d5 10 hours ago 2.42GB

docker.all-hands.dev/all-hands-ai/runtime 0.28-nikolaik 112ae092d9eb 10 hours ago 5.27GB

docker.all-hands.dev/all-hands-ai/runtime <none> 88da4184e1f4 3 days ago 5.27GB

langgenius/dify-web 0.15.2 bbbbdd8f0dfc 6 weeks ago 436MB

langgenius/dify-api 0.15.2 7308d5efc456 6 weeks ago 3.01GB

redis 6-alpine 8d7a968b2baf 2 months ago 30.2MB

tomcat latest f62f518e5c5c 3 months ago 467MB

docker启动容器docker run

在powershell下,跟Linux下不同,最后的连接符,用的是"`" 而不是"\" 。而在cmd下,使用 ^ 符号作为换行符,下面以powershell下为例:

复制代码
docker run -it --rm --pull=always `
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.28-nikolaik `
    -e LOG_ALL_EVENTS=true  `
    -v C:\Users\Admin\.openhands-state:/.openhands-state  `
    -p 3000:3000  `
    --add-host host.docker.internal:host-gateway  `
    --name openhands-app  `
    docker.all-hands.dev/all-hands-ai/openhands:0.28

比如我们启动一个简单的web服务,就既可以在cmd下,也可以在powershell下使用:

复制代码
docker run tomcat

docker启动容器docker start

start和run的区别是,start之后会退回到终端。

复制代码
docker start busy_galileo
busy_galileo

查看启动的容器docker ps

复制代码
docker ps
CONTAINER ID   IMAGE          COMMAND             CREATED              STATUS          PORTS      NAMES
783138d88984   tomcat         "catalina.sh run"   About a minute ago   Up 52 seconds   8080/tcp   busy_galileo
2eb731da3231   4328059557e8   "/main"             3 minutes ago        Up 3 minutes               vigorous_goodall

关闭容器docker stop

复制代码
docker stop busy_galileo
busy_galileo

C:\Users\Admin>docker ps
CONTAINER ID   IMAGE          COMMAND   CREATED         STATUS         PORTS     NAMES
2eb731da3231   4328059557e8   "/main"   4 minutes ago   Up 4 minutes             vigorous_goodall

进入正在运行的容器

复制代码
docker exec -it <container_id> /bin/bash

比如用docker ps列出当前运行容器,然后可以根据容器id进去。

删除容器docker rm

复制代码
docker rm busy_galileo
busy_galileo

用id号删除

复制代码
docker rm 2eb731da3231
2eb731da3231

从硬盘删除容器镜像存盘文件

复制代码
docker rmi tomcat

docker rmi tomcat

Untagged: tomcat:latest

Untagged: tomcat@sha256:935ff51abecc8dc793cb19c229ac7a988c8899e5fcba5e69ae96530fa76c4d56

Deleted: sha256:f62f518e5c5c117ed2b23e2868bcbb510edbc7e403246e74694c3e7e05213673

Deleted: sha256:21a52b0ff969560eb7d92bcc040367a001ba0f7da4106663e0ab101b2569f9fb

Deleted: sha256:7a43f5a5837a214963cad3eb2ed5d392e9e297e8fe683b4dd3f88d170a4af962

Deleted: sha256:09bac625fd98c313fbb8e456912fea86f9cf819497001c5a4a046978973f77db

Deleted: sha256:4dd4e3829be4d2564be9abc10745e9784e7ad62e56af90c3c244c596ce638b59

Deleted: sha256:c4a0b3b7746a883fdfd71e07ade13ec4e2ba3812fbcf9527ea49fbb643939940

Deleted: sha256:3ddd3978477832533d9fe07032a9a3bb347740076de810e640dcfc2dbf85e037

Deleted: sha256:c38291e406fe42590effeeabf6a8522b7441718345d9c2bdb56bd217e20b148c

Deleted: sha256:f1ea1df560b257879739de224d12f09c1402ccc4b18405b998927ef1de1af7f1

Deleted: sha256:687d50f2f6a697da02e05f2b2b9cb05c1d551f37c404ebe55fdec44b0ae8aa5c

当然如果文件太多,在视窗里面删除更方便。

关于docker服务相关

查看docker服务的名字

在cmd命令行下:

复制代码
sc queryex type=service state=all | findstr "docker"
SERVICE_NAME: com.docker.service

启动和关闭服务

在powershell下

复制代码
PS C:\Windows\system32> Start-Service -Name com.docker.service
PS C:\Windows\system32> Stop-Service -Name com.docker.service

但是测试下来好像并没有生效。

在以管理员启动的cmd下:

复制代码
C:\Windows\system32>net start com.docker.service
Docker Desktop Service 服务正在启动 .
Docker Desktop Service 服务已经启动成功。


C:\Windows\system32>net stop com.docker.service
Docker Desktop Service 服务正在停止.
Docker Desktop Service 服务已成功停止。

启动和停止服务显示是生效的,好像并没有生效。

相关推荐
江华森14 小时前
操作系统与 Linux 内核实战教程
linux·运维·服务器
暮云星影14 小时前
个人总结 docker 常用命令
docker·容器
xixingzhe215 小时前
AI运维注意点
运维·人工智能
大树8815 小时前
PUE 超 1.35 要多交多少?存量机房液冷改造 3 张算账表
大数据·运维·服务器·人工智能
小此方15 小时前
Re:Linux系统篇(二十八)文件篇·一:理解 Linux 文件基础I/O、Linux 文件操作与系统调用机制
linux·运维·服务器
likerhood15 小时前
Linux 服务器基础资源查看:CPU、GPU、内存、磁盘与一键检测脚本
linux·运维·服务器
极客先躯16 小时前
高级java每日一道面试题-2026年01月19日-实战篇[Docker]-如何配置镜像仓库的垃圾回收 (GC)?
java·运维·docker·容器
AOwhisky16 小时前
学习自测与解析:MySQL 系列第三期与第四期
linux·运维·数据库·学习·mysql·云计算
流浪00116 小时前
Linux系统篇(三):Linux 命令行参数 & 环境变量:程序和系统沟通的底层逻辑
linux·运维·服务器
yyuuuzz16 小时前
AI模型部署中的常见稳定性问题
运维·服务器·网络·数据库·人工智能·云计算·github