docker常见命令行用法
🧨 一、关闭和清理 Docker 服务相关命令
🔻 docker-compose down
作用:关闭并删除所有使用当前 docker-compose.yml
启动的容器、网络、挂载卷(匿名的)、和依赖关系。
通俗解释:就像你关掉了一个 App,而且清理了它的运行环境(但不会删掉镜像和数据卷)。
举例:
假设你有个 Web 服务和数据库,它们通过 docker-compose up
启动:
web -> 容器A
db -> 容器B
运行 docker-compose down
之后,A 和 B 都被关闭并移除。
🔥 docker system prune -af
作用:强制清理所有未使用的:
- 容器(已停止)
- 网络(未使用)
- 镜像(没有被任何容器使用)
- 构建缓存
-a
:包括未被任何容器使用的镜像
-f
:不询问确认,直接执行
通俗解释:相当于清理硬盘中的“安装包垃圾”,比如你删除了应用但安装包还在,这命令把它们全清了。
注意!新手提醒:
- 很暴力,不要在生产环境轻易用,会把你没用但还想留的镜像一并删了。
💣 docker volume prune -f
作用:清理所有未被使用的 Docker 卷(volumes)
通俗解释:Docker 卷就是容器的数据硬盘。如果这些硬盘没有在用,就全部删除。
🛠️ 二、重新构建和启动服务
🧱 docker-compose build --no-cache
作用:从头重新构建镜像,不使用任何缓存
通俗解释:就像你从零重新编译一个程序,确保没有缓存影响构建结果。
新手误区提醒:
- 如果你改了 Dockerfile 或依赖库(如
requirements.txt
),建议用这个强制更新。
🚀 docker-compose up -d
作用:以“后台”方式启动服务(不会占用当前终端)
-d
:--detach
,让容器在后台运行
通俗解释:就像你点击“启动程序”但不让它开窗口,而是在后台运行。
🧾 三、日志查看命令
📄 docker-compose logs -f qdrant
📄 docker-compose logs -f backend
作用:查看指定服务的实时日志输出
-f
:跟踪(follow)日志,会实时显示日志更新qdrant
/backend
:服务名称
举例:
想看向量数据库 qdrant 的启动过程是否出错:
docker-compose logs -f qdrant
🔁 四、拉取、重构和重启组合命令
🔄 docker-compose down
🔄 docker-compose up -d --build
作用:
- 先关闭服务
- 然后构建镜像并启动
区别说明:
相比 up -d
,这个命令会重新 build 镜像,相当于加了 --build
的意思。
📥 sudo docker-compose pull
作用:从远程仓库拉取 docker-compose.yml
中定义的镜像
通俗解释:就像你从 Docker Hub 下载最新版程序安装包
🔧 sudo docker-compose build backend frontend
作用:只构建 backend
和 frontend
两个服务的镜像
用法举例:
docker-compose.yml 有三个服务:backend、frontend、redis
你只改了 backend 和 frontend 的代码,就构建这两个即可
🔃 sudo systemctl daemon-reexec
作用:重新执行 systemd 守护进程(不重启系统)
使用场景:
- 安装 Docker 后有问题(比如 systemd 没识别新服务)
- Docker 无法启动或服务状态异常
🔄 sudo systemctl restart docker
作用:重启 Docker 服务本身,相当于“重启 Docker 引擎”
📦 镜像拉取相关
🧲 sudo docker pull qdrant/qdrant:latest
作用:手动从 Docker Hub 拉取最新版本的 qdrant 镜像
📊 系统状态监控
💾 df -h
作用:查看磁盘使用情况(以人类可读方式显示,如 GB)
新手要看什么?
- 看
/var/lib/docker
相关挂载是否快满了
🧰 sudo systemctl status docker
作用:查看 Docker 服务当前状态,是否在运行,有没有报错
📋 容器状态检查
🧪 sudo docker-compose ps
作用:列出由 docker-compose 管理的所有容器运行状态
输出示例:
Name Command State Ports
--------------------------------------------------------------------------------
myapp_backend_1 python app.py Up 0.0.0.0:5000->5000/tcp
myapp_qdrant_1 /qdrant Up 0.0.0.0:6333->6333/tcp
🌍 网络信息
🌐 curl ifconfig.me
作用:获取当前主机的公网 IP 地址
🔁 综合部署流程命令组合(重点)
🎯 常见部署顺序
# 1. 清理旧的容器和镜像
docker-compose down
docker system prune -af
docker volume prune -f# 2. 拉最新镜像
sudo docker-compose pull# 3. 构建镜像(可选:只构建有改动的服务)
sudo docker-compose build backend frontend# 4. 启动服务
sudo docker-compose up -d# 5. 查看服务状态和日志
sudo docker-compose ps
sudo docker-compose logs -f backend
✅ 新手常见混淆点总结
命令 | 含义 | 容器会删吗? | 镜像会删吗? | 缓存会删吗? |
---|---|---|---|---|
docker-compose down | 停掉所有服务并删除容器、网络 | ✅ | ❌ | ❌ |
docker system prune -af | 删除所有未使用的东西 | ✅(未运行的) | ✅(未引用的) | ✅ |
docker-compose build | 构建镜像 | ❌ | ✅(重建) | ❌ |
docker-compose build --no-cache | 从零构建,不用缓存 | ❌ | ✅ | ✅ |
docker-compose up -d | 启动服务(不构建) | ❌ | ❌ | ❌ |
docker-compose up -d --build | 启动并重建镜像 | ❌ | ✅ | ❌ |
相关文章:
docker常见命令行用法
🧨 一、关闭和清理 Docker 服务相关命令 🔻 docker-compose down 作用:关闭并删除所有使用当前 docker-compose.yml 启动的容器、网络、挂载卷(匿名的)、和依赖关系。 通俗解释:就像你关掉了一个 App&am…...

Axure设计案例:滑动拼图解锁
设计以直观易懂的操作方式为核心,只需通过简单的滑动动作,将拼图块精准移动至指定位置,即可完成解锁。这种操作模式既符合用户的日常操作习惯,在视觉呈现上,我们精心设计拼图图案,融入生动有趣的元素&#…...

MySQL权限详解
在MySQL中,权限管理是保障数据安全和合理使用的重要手段。MySQL提供了丰富的权限控制机制,允许管理员对不同用户授予不同级别的操作权限。本文将会对MySQL中的权限管理,以及内核如何实现权限控制进行介绍。 一、权限级别 MySQL 的权限是分层…...
基于BP神经网络的语音特征信号分类
基于BP神经网络的语音特征信号分类的MATLAB实现步骤: 1. 数据预处理 信号采样:读取语音信号并进行采样,确保信号具有统一的采样率。例如: [y, Fs] audioread(audio_file.wav); % 读取音频文件预加重:增强高频信号&am…...

解决fastadmin、uniapp打包上线H5项目路由冲突问题
FastAdmin 基于 ThinkPHP,默认采用 URL 路由模式(如 /index.php/module/controller/action),且前端资源通常部署在公共目录(如 public/)下。Uniapp 的历史模式需要将所有前端路由请求重定向到 index.html&a…...

web3-区块链的交互性以及编程的角度看待智能合约
web3-区块链的交互性以及编程的角度看待智能合约 跨链交互性 交互性 用户在某一区块链生态上拥有的资产和储备 目标:使用户能够把资产和储备移动到另一个区块链生态上 可组合性 使在某一区块链的DAPP能调用另一个区块链上的DAPP 如果全世界都在用以太坊就…...

数据结构(7)—— 二叉树(1)
目录 前言 一、 树概念及结构 1.1树的概念 1.2树的相关概念 1.3数的表示 1.二叉树表示 2.孩子兄弟表示法 3.动态数组存储 1.4树的实际应用 二、二叉树概念及结构 2.1概念 2.2特殊的二叉树 1.满二叉树 2. 完全二叉树 2.3二叉树的性质 2.4二叉树的存储结构 1.顺序存储 2.链式存储…...
ROS1和ROS2的区别autoware.ai和autoware.universe的区别
文章目录 前言一、ROS1和ROS2的区别一、ROS2通讯实时性比ROS1强二、ROS1官方不再维护了三、ROS2的可靠性比ros1强四、ROS2的安全性比ros1强五、ROS2资源占用低六、等等等等 二、autoware.ai和autoware.universe的区别一、autoware.ai不维护了二、autoware.universe功能多&#…...

如何使用 Docker 部署grafana和loki收集vllm日志?
环境: Ubuntu20.04 grafana loki 3.4.1 问题描述: 如何使用 Docker 部署grafana和loki收集vllm日志? 解决方案: 1.创建一个名为 loki 的目录。将 loki 设为当前工作目录: mkdir loki cd loki2.将以下命令复制并粘贴到您的命令行中,以将 loki-local-config.yaml …...

Kafka入门- 基础命令操作指南
基础命令 主题 参数含义–bootstrap-server连接的Broker主机名称以及端口号–topic操作的topic–create创建主题–delete删除主题–alter修改主题–list查看所有主题–describe查看主题的详细描述–partitions设置分区数–replication-factor设置分区副本–config更新系统默认…...

目标检测我来惹1 R-CNN
目标检测算法: 识别图像中有哪些物体和位置 目标检测算法原理: 记住算法的识别流程、解决问题用到的关键技术 目标检测算法分类: 两阶段:先区域推荐ROI,再目标分类 region proposalCNN提取分类的目标检测框架 RC…...

lua的笔记记录
类似python的eval和exec 可以伪装成其他格式的文件,比如.dll 希望在异常发生时,能够让其沉默,即异常捕获。而在 Lua 中实现异常捕获的话,需要使用函数 pcall,假设要执行一段 Lua 代码并捕获里面出现的所有错误…...

智能进化论:AI必须跨越的四大认知鸿沟
1. 智能缺口:AI进化中的四大认知鸿沟 1.1 理解物理世界:从像素到因果的跨越 想象一个AI看着一杯倒下的水,它能描述“水滴形状”却无法预测“桌面会湿”。这正是当前AI的典型困境——缺乏对物理世界的因果理解。主流模型依赖海量图像或视频数…...
L2-056 被n整除的n位数 - java
L2-056 被n整除的n位数 语言时间限制内存限制代码长度限制栈限制Java (javac)400 ms512 MB16KB8192 KBPython (python3)400 ms256 MB16KB8192 KB其他编译器400 ms64 MB16KB8192 KB 题目描述: “被 n n n 整除的 n n n 位数”是这样定义的:记这个 n n…...

传统足浴行业数字化转型:线上预约平台的技术架构与商业逻辑
上门按摩服务系统开发正成为行业新风口,这绝不是盲目跟风而是实实在在的市场趋势。随着现代人生活节奏加快,时间成本越来越高,传统到店消费模式已经无法满足消费者对便捷服务的需求。我们的团队深耕上门按摩系统开发领域五年,深刻…...
Java-IO流之字节输入流详解
Java-IO流之字节输入流详解 一、Java IO体系与字节输入流概述1.1 Java IO体系结构1.2 字节输入流的核心类层次1.3 字节输入流的基本工作模式 二、InputStream类的核心方法2.1 int read()2.2 int read(byte[] b)2.3 int read(byte[] b, int off, int len)2.4 long skip(long n)2…...

从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
智能文档处理:非结构化数据提出的挑战 在这个时代的每一天,无论是个人处理账单,还是企业处理合同、保险单、发票、报告或成堆的简历,我们都深陷在海量的非结构化数据之中。这类数据不像整齐排列的数据库表格那样规整,…...
【C/C++】入门grpc的idl
文章目录 grpc idl 简单介绍1. 文件结构组织规范文件命名包结构:推荐:一个文件只定义一个 service,如果 service 很复杂,可拆分多个 proto 文件。 2. 消息定义规范命名风格字段编号:示例: 3. 服务与 RPC 设…...
【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
📌 正文: 有时候我们项目底层是 JdbcTemplate 查询,没法像 MyBatisPlus 一样用 Wrapper 拼接条件,但我们又不想手撸字符串。那怎么办?我今天就给你整了个 SqlBuilder 工具类,支持 eq、ne、like、in、gt、l…...
宇树科技更名“股份有限公司”深度解析:机器人企业IPO前奏与资本化路径
从技术落地到资本跃迁,拆解股改背后的上市逻辑与行业启示 核心事件:股改释放的上市信号 2025年5月28日,杭州宇树科技有限公司正式更名“杭州宇树科技股份有限公司”,市场主体类型变更为“股份有限公司”。尽管官方称为常规运营调…...

Inno Setup 安装向导各个页面详解
概览 表中描述了使用Inno Setup生成的安装包在安装过程中各个页面的字段和对应的说明信息。后文会对各个页面的参数做进一步解释说明。 字段说明wpWelcome欢迎页wpLicense许可协议wpPassword密码wpInfoBefore信息wpUserInfo用户信息wpSelectDir选择目标位置wpSelectComponent…...
转战web3远程工作的英语学习的路线规划
目录 一、明确学习目标与定位 二、基础阶段(0 - 6个月) (一)词汇积累 (二)语法学习 (三)听力与口语 三、进阶阶段(6 - 18个月) (一…...

OPENCV重点结构体Mat的讲解
一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…...
Java 创建线程池的几种方式
在 Java 中创建线程池主要通过 java.util.concurrent 包下的 ExecutorService 接口及其实现类。以下是创建线程池的几种常见方式: ✅ 1. 使用 Executors 工具类(最简单) ExecutorService executor Executors.newFixedThreadPool(10);常用方…...

【趣味Html】第11课:动态闪烁发光粒子五角星
打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…...
AnyIO Event:异步编程中的同步利器
在异步编程的世界里,任务之间的通信和协调是一个常见的需求。AnyIO 提供的 Event 类,为这一需求提供了一个强大而简洁的解决方案。本文将深入探讨 anyio.Event 的使用方法、特点以及在实际应用中的最佳实践。 一、AnyIO Event 概述 anyio.Event 是 Any…...

CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构
中文标题: CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构 英文标题: CFTel: A Practical Architecture for Robust and Scalable Telerobotics with Cloud-Fog Automation 作者信息 Thien Tran, Jonathan Kua, Minh Tran, Hongh…...

Educational Codeforces Round 179 (Rated for Div. 2)
CF2111,简单手速场 A. Energy Crystals 贪心,每次最小值会乘2,直接模拟即可,复杂度 O ( log n ) O(\log n) O(logn) void solve(){int x;cin>>x;multiset<int> s{0,0,0};int res0;while(*s.begin()<x){int x*s.begin();s…...

完成一个可交互的k8s管理平台的页面开发
使用deepseek完成设计一个k8s管理平台,关键词如下: 完成一个可交互的k8s管理平台的页面开发Kubernetes 管理平台页面设计 下面是一个基于现代Web技术的可交互Kubernetes管理平台的页面设计方案,使用React作为前端框架,配合Ant De…...
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项,并通…...