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

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

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

相关文章:

  • 【AI大模型】搭建本地大模型GPT-J:详细步骤及常见问题
  • 代码随想录第六十二天| Floyd 算法精讲 A * 算法精讲 (A star算法) 最短路算法总结篇
  • SpringBoot @Scheduled Cron 表达式 详解
  • 04STM32外部中断
  • 2025-03-25 学习记录--C/C++-PTA 习题11-7 奇数值结点链表
  • LVS的 NAT 模式实验
  • Python 非异步函数执行异步函数的方案
  • Windows系统下Pycharm+Minianaconda3连接教程【成功】
  • 第三百八十七节 JavaFX教程 - JavaFX CSS
  • 数据结构--分块查找
  • AI时代SEO的范式重构:从关键词优化到认知引擎驱动的深度思考
  • Gunicorn+Eventlet无法收到SocketIO发送的消息
  • 【软件测试】:软件测试实战
  • 计算机网络 第一章:计算机网络和因特网(2)
  • Qt——使用第三方库QtXlsx操作Excel表,实现MySQL读取的数据保存至excel文件
  • Transformer、ELMo、GPT、BERT的详细理解
  • Mybatis操作数据库(注解+xml两个方式)
  • 深入理解Java集合框架:构建高效、灵活的数据管理方案
  • Android设计模式之单例模式
  • Oracle 数据库同步至 GaussDB问题及解决方案
  • 国外网站兼职做效果图/网络营销公司简介
  • 把两个网站合并到一个网页/营销推广策划方案范文
  • 郑州小型网站制作公司/百度seo关键词点击软件
  • 毕业查询结果网站怎么做/网络平台推广运营有哪些平台
  • 百度推广需要什么条件/网站seo排名培训
  • 网站更改/百度搜题网页版入口