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 服务已成功停止。

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

相关推荐
阳光九叶草LXGZXJ11 分钟前
Linux-学习-07-VMware配置共享存储
linux·运维·服务器·数据库·学习
404测试42 分钟前
RAGFlow版本升级-Win10系统Docker
运维·docker·容器
solomonzw1 小时前
linux学习(十六)(集装箱(ulimits,cgroups,容器运行时,Docker))
linux·学习·docker
Pee Wee2 小时前
Linux服务器使用docker离线安装MySQL
linux·服务器·docker
春天的菠菜2 小时前
【自动化】Automa网页自动化之路
运维·自动化
自律的阿龙2 小时前
Linux练级宝典->动态库和静态库
linux·运维·服务器
什么半岛铁盒3 小时前
【Linux系统】进程优先级:进程间的权力游戏
linux·运维·游戏
Ares-Wang3 小时前
Linux》》Ubuntu apt 常用命令汇总,Linux 文件目录结构 修改root 密码 查看系统版本
linux·运维·ubuntu
小慧10243 小时前
Ubuntu开荒
linux·运维·ubuntu