当前位置: 首页 > article >正文

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

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


http://www.kler.cn/a/582010.html

相关文章:

  • Jmeter请求发送加密参数
  • K8S学习之基础二十三:k8s的持久化存储之nfs
  • 机器学习 Day02,matplotlib库绘图
  • TikTok多店铺网络安全搭建指南
  • 在资源有限中逆势突围:从抗战智谋到寒门高考的破局智慧
  • 数据库统计信息开启和关闭
  • 深入浅出Bearer Token:解析工作原理及其在Vue、Uni-app与Java中的实现Demo
  • Redis 设置密码(配置文件、docker容器、命令行3种场景)
  • HippoRAG 2 原理精读
  • Vue开发中计算属性与方法调用之间的区别与联系
  • LeNet-5卷积神经网络详解
  • 【沐渥科技】氮气柜日常如何维护?
  • QT与网页显示数据公式的方法
  • 企业未来 AI 应用中的工作重心
  • 在VMware上部署【Rocky Linux】保姆级
  • React 中的 useReducer Hook 是什么?何时使用?
  • 【外部链接跳转uniapp开发的App内指定页面】实现方案
  • 蓝桥杯省赛真题C++B组2024-握手问题
  • Spring Boot配置类原理、Spring Boot核心机制理解,以及实现自动装置的底层原理
  • 【Axure资料】110套优质可视化大屏模板+图表组件+科技感元件等