【Docker系列七】Docker Compose 命令详解

news2025/4/22 12:15:31

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一、启动与停止服务
      • 1. 启动服务
      • 2. 停止服务
    • 二、查看服务状态
      • 1. 查看运行中的服务
      • 2. 查看服务详情
    • 三、查看服务日志
      • 1. 查看所有服务的日志
      • 2. 查看指定服务的日志
      • 3. 实时查看日志
      • 4. 查看最近日志
    • 四、服务扩展与缩减
      • 1. 扩展服务
      • 2. 缩减服务
      • 3. 动态调整服务实例
      • 4. 注意事项
    • 五、其他常用命令
      • 1. 进入容器
      • 2. 重启服务
      • 3. 删除未使用的资源
      • 4. 查看服务依赖
    • 六、总结

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Docker Compose,用户可以使用一个简单的 YAML 文件来配置应用的服务、网络和卷等资源,并通过一系列命令来管理这些服务。
在这里插入图片描述

一、启动与停止服务

1. 启动服务

启动服务是使用 Docker Compose 的最基本操作。通过docker-compose up命令,可以启动docker-compose.yml文件中定义的所有服务。

  • 启动服务并保持终端连接

    docker-compose up
    

    该命令会启动所有服务,并将日志输出到终端。如果需要停止服务,可以按Ctrl+C

  • 后台启动服务

    docker-compose up -d
    

    该命令会在后台启动服务,适合在生产环境中使用。

  • 重新构建镜像并启动服务
    如果服务的镜像需要重新构建,可以使用--build选项:

    docker-compose up --build
    
  • 启动指定服务
    如果只需要启动部分服务,可以在命令后指定服务名称:

    docker-compose up web
    

2. 停止服务

停止服务可以通过docker-compose down命令实现。

  • 停止并删除所有容器

    docker-compose down
    

    该命令会停止所有服务,并删除容器、网络和卷(除非卷被标记为外部卷)。

  • 停止服务但保留容器和卷
    如果只想停止服务而不删除容器和卷,可以使用:

    docker-compose stop
    
  • 停止指定服务
    如果只需要停止部分服务,可以在命令后指定服务名称:

    docker-compose stop web
    

二、查看服务状态

在服务运行过程中,可能需要查看服务的状态,以确保所有服务正常运行。

1. 查看运行中的服务

使用docker-compose ps命令可以查看当前运行的服务状态:

docker-compose ps

输出示例:

Name              Command               State           Ports
------------------------------------------------------------------
web_1   nginx -g daemon off;            Up      0.0.0.0:80->80/tcp
db_1    docker-entrypoint.sh mysqld      Up      3306/tcp

该命令会列出所有服务的名称、命令、状态和端口映射信息。

2. 查看服务详情

如果需要查看更详细的服务信息,可以使用docker-compose config命令:

docker-compose config

该命令会输出docker-compose.yml文件的解析结果,包括所有服务的配置详情。


三、查看服务日志

在服务运行过程中,查看日志是排查问题的重要手段。Docker Compose 提供了多种查看日志的方式。

1. 查看所有服务的日志

使用docker-compose logs命令可以查看所有服务的日志:

docker-compose logs

该命令会输出所有服务的日志信息。

2. 查看指定服务的日志

如果只需要查看某个服务的日志,可以在命令后指定服务名称:

docker-compose logs web

3. 实时查看日志

如果需要实时查看日志,可以使用-f选项:

docker-compose logs -f

该命令会实时输出日志,类似于tail -f的效果。

4. 查看最近日志

如果只需要查看最近的日志,可以使用--tail选项:

docker-compose logs --tail=100

该命令会输出最后 100 行日志。


四、服务扩展与缩减

Docker Compose 支持通过docker-compose scale命令对服务进行扩展和缩减,以满足不同的负载需求。

1. 扩展服务

通过docker-compose scale命令,可以增加某个服务的实例数量。例如,将web服务扩展到 3 个实例:

docker-compose up --scale web=3

该命令会启动 3 个web服务的实例。

2. 缩减服务

同样地,可以通过docker-compose scale命令减少某个服务的实例数量。例如,将web服务缩减到 1 个实例:

docker-compose up --scale web=1

该命令会将web服务的实例数量减少到 1 个。

3. 动态调整服务实例

在服务运行过程中,可以动态调整实例数量。例如,将web服务从 2 个实例扩展到 4 个实例:

docker-compose up --scale web=4

Docker Compose 会自动启动新的实例,并停止多余的实例。

4. 注意事项

  • 端口冲突:如果服务使用了固定的端口映射,扩展实例时可能会导致端口冲突。可以通过动态端口映射或负载均衡器来解决。
  • 状态一致性:扩展服务时,需要确保服务是无状态的,或者使用共享存储(如数据库)来保持状态一致性。

五、其他常用命令

1. 进入容器

如果需要进入某个运行中的容器,可以使用docker-compose exec命令:

docker-compose exec web bash

该命令会进入web服务的容器,并启动一个交互式终端。

2. 重启服务

如果需要重启某个服务,可以使用docker-compose restart命令:

docker-compose restart web

3. 删除未使用的资源

使用docker-compose down --volumes命令可以删除所有未使用的资源,包括容器、网络和卷:

docker-compose down --volumes

4. 查看服务依赖

使用docker-compose config --services命令可以查看所有服务的名称:

docker-compose config --services

六、总结

Docker Compose 提供了一系列强大的命令,用于管理和操作多容器应用。

  • 启动与停止服务:使用docker-compose updocker-compose down命令。
  • 查看服务状态:使用docker-compose psdocker-compose config命令。
  • 查看服务日志:使用docker-compose logs命令。
  • 服务扩展与缩减:使用docker-compose scale命令。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2322949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI学习】Transformer 模型

1,概念 是一种基于自注意力机制(Self-Attention Mechanism)的深度学习架构,在自然语言处理、计算机视觉等多个领域都有着极为重要的应用。 2,基本结构 1)编码器(Encoder) 通常由多个相同的编码器层堆叠而成。 每个编码器层包含了多头自注意力机制、前馈神经网络以及…

大数据学习栈记——HBase操作(shell java)

本文介绍HBase在shell终端的常见操作以及如何利用java api操作HBase,操作系统:Ubuntu24.04 参考: https://blog.51cto.com/u_16099228/8016429 https://blog.csdn.net/m0_37739193/article/details/73618899 https://cloud.tencent.com/d…

智能制造:物联网和自动化之间的关系

工业自动化 工业自动化是机器设备或生产过程在不需要人工直接干预的情况下按预期的目标实现测量、操纵等信息处理和过程控制的统称。 在传统的工业生产过程中,很多环节需要人工操作,比如设备调试、生产监控、质量检测等。然而,随着工业自动化…

Axure项目实战:智慧城市APP(三)教育查询(显示与隐藏交互)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:教育查询 主要内容:教育公告信息,小升初、初升高、高考成绩查询;教育公告信息为传统的信息页面,小升…

01 设计模式和设计原则

类设计原则: 单一职责原则(Single Responsibility Principle,SRP):实现类要职责单一开闭原则(Open Close Principle,OCP):对扩展开放,对修改关闭里氏替换原则…

Github 2025-03-23 php开源项目日报Top10

根据Github Trendings的统计,今日(2025-03-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10TypeScript项目1JavaScript项目1Shell项目1Laravel: 以优雅语法简化Web开发 创建周期:4028 天开发语言:PHP协议类型:MIT LicenseSt…

AIMB-ASMB-788B(PPC-MB-620B)RAID驱动安装(笔记版)

创建RAID后安装系统时看不到磁盘信息,以下案例是安装windows10系统时如何安装主板RAID驱动,由于是笔记版不做过多介绍。 RAID驱动链接:https://advdownload.advantech.com.cn/productfile/Downloadfile1/1-2MAHDQD/AIMB-788_788E_RAID_AHCI_…

深度分页优化思路

深度分页优化思路 思考以下问题 查询以下SQL的流程是怎么样的呢? 为什么只查询10条数据需要7秒? # 查询时间7秒 SELECT * FROM user ORDER BY age LIMIT 1000000, 10问题分析 为什么分页查询随着翻页的深入,会变得越来越慢。 其实&#xff0…

K8S学习之基础五十四:jenkins新建测试流水线

jenkins新建测试流水线 新建任务 node(testak) {stage(第1步:从gitee上下载源代码) {git url: "https://gitee.com/akang007/jenkins-sample"script {build_tag sh(returnStdout: true, script: git rev-parse --short HEAD).trim()}}stage(第2步:基…

HarmonyOS NEXT(九) :图形渲染体系

HarmonyOS NEXT(九) :图形渲染体系 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 HarmonyOS NEXT&#xff0…

SQLAlchemy关键词搜索技术深度解析:从基础过滤到全文检索

在数据驱动的应用开发中,基于关键词的模糊查询是常见的业务需求。SQLAlchemy作为Python生态中最流行的ORM框架,提供了多种实现关键词搜索的技术方案。本文将从性能、适用场景和技术复杂度三个维度,系统对比分析SQLAlchemy中关键词搜索的最佳实…

ES数据过多,索引拆分

公司企微聊天数据存储在 ES 中,虽然按照企业分储在不同的ES 索引中,但某些常用的企微主体使用量还是很大。4年中一个索引存储数据已经达到46多亿条数据,占用存储3.1tb, ES 配置 由于多一个副本,存储得翻倍,成本考虑…

uni-app自动升级功能

效果图 一、VUE login.vue <template><view><view class"uni-common-mt"><view class"uni-flex uni-column"><view class"flex-item flex-item-V"><view class"logo"><image src"/st…

使用AI一步一步实现若依(26)

功能26&#xff1a;新增一个新员工培训页面 功能25&#xff1a;角色管理 功能24&#xff1a;菜单管理 功能23&#xff1a;从后端获取路由/菜单数据 功能22&#xff1a;用户管理 功能21&#xff1a;使用axios发送请求 功能20&#xff1a;使用分页插件 功能19&#xff1a;集成My…

逻辑回归(Logistic Regression)模型的概率预测函数

以二分类问题为例&#xff0c;常见的损失函数有 负对数似然损失(neg log-likelihood loss)&#xff0c;交叉熵损失(cross entropy loss)&#xff0c;deviance loss指数损失(exponential loss)。 前三者虽然名字不同&#xff0c;但却具有相同的表达形式。此外&#xff0c;neg …

【零基础学python】python高级语法(四)

接续上面的系列文章&#xff1a; 【零基础学python】python基础语法&#xff08;一&#xff09;-CSDN博客 【零基础学python】python基础语法&#xff08;二&#xff09;-CSDN博客 【零基础学python】python高级语法&#xff08;三&#xff09;-CSDN博客 目录 2&#xff0c…

HarmonyOS 之 @Require 装饰器自学指南

在 HarmonyOS 应用开发工作中&#xff0c;我频繁碰到组件初始化传参校验的难题。在复杂的组件嵌套里&#xff0c;要是无法确保必要参数在构造时准确传入&#xff0c;就极易引发运行时错误&#xff0c;而且排查起来费时费力。一次偶然的机会&#xff0c;我接触到了 Require 装饰…

基于CNN的FashionMNIST数据集识别6——ResNet模型

前言 之前我们在cnn已经搞过VGG和GoogleNet模型了&#xff0c;这两种较深的模型出现了一些问题&#xff1a; 梯度传播问题 在反向传播过程中&#xff0c;梯度通过链式法则逐层传递。对于包含 L 层的网络&#xff0c;第 l 层的梯度计算为&#xff1a; 其中 a(k) 表示第 k层的…

0323-B树、B+树

多叉树---->B树&#xff08;磁盘&#xff09;、B树 磁盘由多个盘片组成&#xff0c;每个盘片分为多个磁道和扇区。数据存储在这些扇区中&#xff0c;扇区之间通过指针链接&#xff0c;形成链式结构。 内存由连续的存储单元组成&#xff0c;每个单元有唯一地址&#xff0c;数…

【工作记录】F12查看接口信息及postman中使用

可参考 详细教程&#xff1a;如何从前端查看调用接口、传参及返回结果&#xff08;附带图片案例&#xff09;_f12查看接口及参数-CSDN博客 1、接口信息 接口基础知识2&#xff1a;http通信的组成_接口请求信息包括-CSDN博客 HTTP类型接口之请求&响应详解 - 三叔测试笔记…