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
相关文章
|
11天前
|
关系型数据库 MySQL API
|
25天前
|
缓存 监控 持续交付
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
18 1
|
19天前
|
负载均衡 监控 开发者
深入浅出:掌握 Docker Compose 的高级用法
【10月更文挑战第22天】本文深入探讨了 Docker Compose 的高级用法,包括环境变量、服务扩展、网络配置和数据卷管理。通过实例详细介绍了如何利用这些功能提升开发效率和应用部署的灵活性。适合希望深入了解 Docker Compose 的开发者阅读。
|
7天前
|
NoSQL Redis Docker
【赵渝强老师】使用Docker Compose管理容器
Docker Compose 通过 YAML 文件管理多个容器,简化复杂系统的部署和管理。本文介绍了 Docker Compose 的基本概念,并通过一个包含 Redis DB 和 Python Web 模块的示例,展示了如何使用 Docker Compose 部署和管理多容器应用。手动部署和 Docker Compose 部署的对比突显了 Docker Compose 在系统复杂度增加时的优势。
|
7天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
28 0
|
1月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
192 1
|
1月前
|
存储 Kubernetes 持续交付
Docker Compose
【10月更文挑战第3天】
46 6
|
1月前
|
存储 Kubernetes 调度
掌握 Docker Compose
【10月更文挑战第6天】
17 1