Docker Compose - 安装使用

简介: Docker Compose - 安装使用 Docker Compose

概述

Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。

其代码目前在 https://github.com/docker/compose 上开源。

Compose 中有两个重要的概念:

  • 服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目(project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

Compose 项目由 Python 编写,实现上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。


目录

1.Docker Compose 安装与卸载

2.Docker Compose 使用

3.Docker Compose 模板文件

4.Docker Compose 常用命令


1.Docker Compose 安装与卸载

  • 二进制包安装

    官方 GitHub Release 处直接下载编译好的二进制文件即可。例如,在 Linux 64 位系统上直接下载对应的二进制包。

    $ sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    $ sudo chmod +x /usr/local/bin/docker-compose
  • PIP 安装

    注:* x86_64 架构的 Linux 建议按照上边的方法下载二进制包进行安装,如果您计算机的架构是 ARM (例如,树莓派),在使用 pip 安装。

    这种方式是将 Compose 当做一个 Python 应用来从 pip 源中安装。

    执行安装命令:

    $ sudo pip install -U docker-compose

    可以看到类似如下输出,说明安装成功。

    Collecting docker-compose
      Downloading docker-compose-1.17.1.tar.gz (149kB): 149kB downloaded
    ...
    Successfully installed docker-compose cached-property requests texttable websocket-client docker-py dockerpty six enum34 backports.ssl-match-hostname ipaddress
  • 卸载

    如果是二进制包方式安装的,删除二进制文件即可。

    $ sudo rm /usr/local/bin/docker-compose

    如果是通过 pip 安装的,则执行如下命令即可删除。

    $ sudo pip uninstall docker-compose

2.Docker Compose 使用

​ 如下以 tomcat 为例

  • 创建目录

    $ cd /usr/local
    $ mkdir -p docker/tomcat
  • 编写 docker-compose.yml 文件,这个是 Compose 使用的主模板文件。

    $ pwd
    /usr/local/docker/tomcat
    $ vi docker-compose.yml
    version: '3.1'
    services:
      tomcat:
        restart: always
        image: tomcat
        container_name: tomcat
        ports:
          - 8080:8080
        volumes:
          - /usr/local/docker/tomcat/webapps/ROOT:/usr/local/tomcat/webapps/ROOT
        environment:
          TZ: Asia/Shanghai
  • 创建 webapps 内容

    $ mkdir -p webapps/ROOT
    $ echo 'Hello Docker Compose!' > index.html
  • 运行 compose 项目

    跳转到 docker-compose.yml 目录下运行

    $ docker-compose up

    访问地址:http://容器ip:8080

3.Docker Compose 模板文件

模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。

默认的模板文件名称为 docker-compose.yml ,格式为 YAML 格式。

version: '3.1'
services:
  tomcat:
    restart: always
    image: tomcat
    container_name: tomcat
    ports:
      - 8080:8080

4.Docker Compose 常用命令

  • 前台运行

    docker-compose up
  • 后台运行

    docker-compose up -d
  • 启动

    docker-compose start
  • 停止

    docker-compose stop
  • 停止并移除容器

    docker-compose down
相关文章
|
3月前
|
人工智能 前端开发 Docker
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
在 AI 智能体开发中,开发者常面临本地调试与云端部署的矛盾。本文介绍如何通过 Docker Compose 与 Docker Offload 解决这一难题,实现从本地快速迭代到云端高效扩容的全流程。内容涵盖多服务协同、容器化配置、GPU 支持及实战案例,助你构建高效、一致的 AI 智能体开发环境。
348 2
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
|
3月前
|
运维 数据可视化 开发者
2025年 三个 Docker Compose 可视化管理器测评
本文对比了三款主流的 Docker Compose 可视化管理工具。随着 Docker 的普及,Compose 已成为多容器应用部署的标准,但 YAML 配置复杂、协作困难等问题也日益突出。三款工具各有侧重:Docker Desktop 适合个人本地开发,Portainer 适合小团队运维管理,而 Websoft9 则通过 GitOps 实现了强大的版本控制与团队协作能力。文章从可视化编辑、部署便捷性、版本管理等方面进行评测,为不同使用场景提供了推荐方案,展望了未来 Compose 管理向 GitOps 深度融合的发展趋势。
420 1
2025年 三个 Docker Compose 可视化管理器测评
|
数据可视化 开发工具 git
GitOps 驱动的 Docker Compose 可视工具化来了,图形化编辑器上玩转容器编排
Docker Compose 简化了多容器应用的部署,但随着应用复杂度上升,文本配置方式逐渐暴露出维护难、协作效率低等问题。基于 GitOps 的可视化 Docker Compose 工具应运而生,通过图形界面降低使用门槛,提升配置准确性和团队协作效率。结合 GitOps,实现配置变更的版本追踪、自动化部署与环境一致性,为多容器应用管理提供高效、安全的解决方案。
|
5月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
467 11
|
5月前
|
NoSQL 安全 Redis
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
406 1
|
7月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1128 30
|
7月前
|
网络协议 NoSQL Redis
Docker Compose--模板文件
Docker Compose--模板文件
422 29
|
7月前
|
Linux Docker Windows
Docker Compose
Docker Compose
743 29
|
7月前
|
关系型数据库 MySQL 数据库
Docker Compose-实战
Docker Compose-实战
251 5