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

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

作用:只构建 backendfrontend 两个服务的镜像

用法举例

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启动并重建镜像
http://www.xdnf.cn/news/11887.html

相关文章:

  • WebFuture:启动数据库提示: error while loading shared libraries: libaio.so.1问题处理
  • PaddleOCR(2):PaddleOCR环境搭建
  • 跨域请求解决方案全解析
  • NFT 市场开发:基于 Ethereum 和 IPFS 构建去中心化平台
  • Open SSL 3.0相关知识以及源码流程分析
  • 【定时器】定时器存在的内存泄露问题
  • [蓝桥杯]最大比例
  • springboot ErrorController getErrorPath() 版本变迁
  • Java设计模式:责任链模式
  • stress-ng 服务器压力测试的工具学习
  • .NET 原生驾驭 AI 新基建实战系列(三):Chroma ── 轻松构建智能应用的向量数据库
  • Orthanc:轻量级PACS服务器与DICOMweb支持的技术详解
  • 【unity游戏开发入门到精通——通用篇】从零掌握UnityWebRequest:文件下载、表单提交、超时处理、断点续传
  • UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
  • qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001
  • Python_day44
  • 定制开发开源AI智能名片S2B2C商城小程序在无界零售中的应用与行业智能升级示范研究
  • NeRF PyTorch 源码解读 - NDC空间
  • AI,如何重构理解、匹配与决策?
  • FFmpeg avformat_open_input函数分析
  • [蓝桥杯]密文搜索
  • 深入解析 Java ClassLoader:揭开 JVM 动态加载的神秘面纱
  • CSP-J 信奥竞赛大纲(2025)
  • C语言-指针基础概念
  • 图神经网络实战——图属性度量方法详解
  • @Prometheus 监控-MySQL (Mysqld Exporter)
  • 【从GEO数据库批量下载数据】
  • docker生命周期
  • 结构性设计模式之Flyweight(享元)
  • Linux基本指令(三)