docker compose管理docker服务的方法

 更新时间:2026年01月08日 10:59:25   作者:schinber  
DockerCompose通过一个配置文件管理多服务,支持启动、停止、重启等生命周期管理,依赖管理、资源隔离和自动重启等关键能力,是单机多容器应用的首选管理工具,本文给大家介绍docker compose如何管理docker服务,感兴趣的朋友跟随小编一起看看吧

一、Docker Compose 管理服务的核心方式

Docker Compose 遵循 "一个配置文件,一套命令" 的核心思想,主要通过以下步骤和命令来管理服务:

1. 核心配置文件:docker-compose.yml

这是定义所有服务的核心,它描述了服务的镜像、端口映射、数据卷、网络、依赖关系、环境变量等。示例配置文件(以 Web + 数据库为例):

yaml

version: '3.8'  # Compose 文件版本(需与 Docker 版本匹配)
# 定义要管理的服务
services:
  # 第一个服务:web 应用
  web:
    image: nginx:alpine  # 使用的镜像
    ports:
      - "8080:80"  # 端口映射(主机:容器)
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf  # 挂载配置文件
    depends_on:
      - db  # 依赖 db 服务,启动时先启动 db
    restart: always  # 容器退出时自动重启
    networks:
      - app-network  # 加入自定义网络
  # 第二个服务:数据库
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456  # 环境变量(数据库密码)
      MYSQL_DATABASE: mydb
    volumes:
      - db-data:/var/lib/mysql  # 持久化数据卷
    networks:
      - app-network
# 定义数据卷(持久化数据)
volumes:
  db-data:
# 定义自定义网络(隔离服务)
networks:
  app-network:
    driver: bridge

2. 核心命令:管理服务的生命周期

所有命令都在 docker-compose.yml 所在目录执行,核心命令如下:

命令作用示例
docker-compose up启动所有服务(前台运行)docker-compose up(前台)docker-compose up -d(后台运行,推荐)
docker-compose down停止并删除容器、网络(保留数据卷)docker-compose down(仅停容器)docker-compose down -v(删除数据卷)
docker-compose start启动已创建的服务容器docker-compose start web(仅启动 web 服务)
docker-compose stop停止服务容器(不删除)docker-compose stop db(仅停止 db 服务)
docker-compose restart重启服务docker-compose restart web
docker-compose ps查看服务状态docker-compose ps(列出所有服务容器)
docker-compose logs查看服务日志docker-compose logs -f web(实时查看 web 日志)
docker-compose scale扩缩容服务(旧版)docker-compose scale web=3(启动 3 个 web 容器)
docker-compose up --scale扩缩容服务(新版)docker-compose up -d --scale web=3

3. 关键管理能力详解

  • 依赖管理:通过 depends_on 定义服务启动顺序(如先启动数据库,再启动 web),确保服务依赖的组件先就绪。
  • 资源隔离:通过自定义 networks 让服务仅在指定网络内通信(避免与主机其他容器冲突),通过 volumes 持久化数据(容器删除后数据不丢失)。
  • 环境配置:通过 environment.env 文件注入环境变量,实现配置与代码分离(如数据库密码不硬编码)。
  • 自动重启:通过 restart: always 配置,服务容器异常退出时自动重启,保证服务可用性。
  • 日志聚合:通过 docker-compose logs 统一查看所有服务的日志,无需逐个容器查看。

二、实操示例:完整的服务管理流程

编写配置文件:创建 docker-compose.yml(如上述 Web + MySQL 示例)。

启动服务

docker-compose up -d  # 后台启动所有服务

查看状态

docker-compose ps  # 查看服务是否正常运行

查看日志

docker-compose logs -f web  # 实时查看 web 服务日志

扩缩容

docker-compose up -d --scale web=2  # 启动 2 个 web 容器

停止服务

docker-compose stop  # 停止所有服务(容器保留)

清理资源

docker-compose down -v  # 停止并删除容器、网络、数据卷(谨慎使用)

Docker Compose 主要分为两个大版本,命令形式和安装 / 运行方式有明显区别:

版本命令形式核心特征
Compose V1docker-compose up基于 Python 开发的独立工具,需要单独安装(如 pip install docker-compose
Compose V2docker compose up

集成到 Docker CLI 中的子命令(Go 语言重构),随 Docker Desktop 或 Docker Engine 一起分发

总结

  1. Docker Compose 通过 docker-compose.yml 统一定义多服务的配置(镜像、端口、依赖、网络等),替代手动逐个创建容器的繁琐操作。
  2. 核心命令(up/down/start/stop/logs)实现服务全生命周期管理,支持启动、停止、重启、扩缩容、日志查看等核心操作。
  3. 关键能力(依赖管理、资源隔离、自动重启)确保多容器应用的稳定性和可维护性,是单机多容器应用的首选管理工具。

到此这篇关于docker compose管理docker服务的方法的文章就介绍到这了,更多相关docker compose管理docker服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker 报错 Exited (1) 4 minutes ago的原因分析

    docker 报错 Exited (1) 4 minutes ago的原因分析

    这篇文章主要介绍了docker 报错 Exited (1) 4 minutes ago的原因分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker到底是什么?Docker为什么它这么火!

    Docker到底是什么?Docker为什么它这么火!

    Docker这种新的容器技术可谓热得发烫,因为有了它,人们就有可能让数量多得多的应用程序在同样的旧服务器上运行;有了它,人们也很容易封装和交付程序。本文旨在帮助你进一步了解Docker
    2015-12-12
  • docker容器内服务随容器自动启动的几种方案

    docker容器内服务随容器自动启动的几种方案

    Docker是一种轻量级的容器化平台,可以帮助开发者快速部署、运行和管理应用程序,这篇文章主要给大家介绍了关于docker容器内服务随容器自动启动的几种方案,需要的朋友可以参考下
    2024-07-07
  • Docker启动镜像就自动退出问题及解决

    Docker启动镜像就自动退出问题及解决

    这篇文章主要介绍了Docker启动镜像就自动退出问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • docker清空日志文件几种方法实现

    docker清空日志文件几种方法实现

    docker 用久了 日志一大堆,很占用空间,不用的日志可以清理掉了,下面这篇文章主要介绍了docker清空日志文件几种方法实现的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • Ubuntu 20.04.5 LTS系统下安装Docker CE 26.1.4的完整指南

    Ubuntu 20.04.5 LTS系统下安装Docker CE 26.1.4的

    这篇文章主要为大家详细介绍了如何在Ubuntu 20.04.5 LTS系统下安装Docker CE 26.1.4,文中的示例代码讲解详细,需要的小伙伴可以了解下
    2025-09-09
  • Docker Nginx容器制作部署实现方法

    Docker Nginx容器制作部署实现方法

    这篇文章主要介绍了Docker Nginx容器制作部署实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 安装docker-ce报错yum仓库错误问题及解决

    安装docker-ce报错yum仓库错误问题及解决

    安装Docker-CE时,可能会因依赖软件版本不足导致报错,解决方法包括使用yum update更新软件包,若仓库无该包则需更新repo源,也可通过yum install -y docker-ce --skip-broken跳过依赖更新直接安装,若遇yum命令执行报错
    2024-11-11
  • Docker 实现浏览器里开发Android应用的功能

    Docker 实现浏览器里开发Android应用的功能

    这篇文章主要介绍了Docker 实现浏览器里开发Android应用的功能的相关资料,这里对布置环境做了详细的步骤,也许你能用到这样的功能,需要的朋友可以参考下
    2016-11-11
  • Docker Portainer 可视化面板的使用

    Docker Portainer 可视化面板的使用

    本文主要介绍了Docker Portainer 可视化面板的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论