Docker Compose 的使用指南

阅读时长 6 min read

前言

Docker Compose 是 Docker 公司为了解决 Docker 镜像的部署问题而推出的一款工具。使用 Docker Compose 可以轻松地管理和运行多个 Docker 容器。本篇文章将介绍 Docker Compose 的基本用法和实战经验。

安装 Docker Compose

在使用 Docker Compose 之前,需要先安装它。Docker Compose 通常可以通过官方网站获得,也可以通过各种包管理工具安装。

安装方式一:通过官方网站下载

可以通过官方网站 https://docs.docker.com/compose/install/ 下载并安装 Docker Compose。

安装方式二:使用包管理工具

可以使用包管理工具(如 apt、yum、brew)来安装 Docker Compose。下面是各种包管理工具的命令,以 Ubuntu 为例:

-- -------------------- ---- -------
- --- ----
---- ------- ------
---- ------- ------- --------------

- --- ----
---- --- ------
---- --- ------- --------------

- ---- ----
---- ------
---- ------- --------------

Docker Compose 基本概念

在使用 Docker Compose 之前,需要了解一些基本概念。

  • 服务(Service):服务指的是一个 Docker 容器。在 Docker Compose 中,可以定义多个服务,每个服务对应一个容器。
  • 服务定义(Service Definition):服务定义指的是针对一个服务的配置信息,包括镜像名称、容器运行参数、数据卷等。
  • 服务堆栈(Service Stack):服务堆栈指的是多个服务组成的整个应用项目。

Docker Compose 配置文件

Docker Compose 使用 YAML 文件作为配置文件。Docker Compose 配置文件包含以下部分:

  • 版本(version):配置文件格式的版本号,目前最新版本为 3。
  • 服务(services):定义了所有服务的配置信息。
  • 网络(networks):定义了服务之间的网络设置。
  • 卷(volumes):定义了数据卷的相关设置。
  • 配置(configs):定义了应用程序的配置信息。

下面是一个简单的 Docker Compose 配置文件示例:

-- -------------------- ---- -------
-------- ---

---------
  ----
    ------ -----
    ------
      - -------
      
  ---
    ------ -----
    ------------
      -------------------- --------
      --------------- --------
    --------
      - ----------------------
      
--------
  --------
    ------- -----

上面的配置文件包含了两个服务,一个是 web 服务,使用的是 nginx 镜像,暴露了 80 端口;一个是 db 服务,使用的是 mysql 镜像,并设置了环境变量和数据卷。

Docker Compose 常用命令

以下是 Docker Compose 常用命令及其用法。

docker-compose up

启动服务堆栈。使用以下命令:

该命令会自动构建服务定义,并启动服务堆栈。如果配置文件更改,该命令可以重新构建服务定义。

docker-compose down

关闭服务堆栈。使用以下命令:

该命令会停止并删除所有服务容器,并删除服务定义。

docker-compose ps

查看服务堆栈中的容器。使用以下命令:

该命令会列出所有服务堆栈中的容器,并列出容器的状态。

docker-compose logs

查看服务堆栈中的容器日志。使用以下命令:

该命令会列出所有服务堆栈中的容器的日志信息。

Docker Compose 实战

在实际项目中,使用 Docker Compose 可以方便地管理多个 Docker 容器,简化部署过程。下面是一个使用 Docker Compose 部署基于 Node.js 和 MongoDB 的 web 应用的实例。

环境准备

首先需要安装好 Docker、Docker Compose 和 Git。

获取代码

从 GitHub 上克隆本项目代码:

本项目代码包括了一个基于 Node.js 和 MongoDB 的 web 应用程序。

编写 Docker Compose 配置文件

在项目根目录下创建一个名为 docker-compose.yml 的文件,编写如下的配置信息:

-- -------------------- ---- -------
-------- ---

---------
  ----
    ------ -
    ------
      - ---------
    -----------
      - --
    ------------
      ---------- ------------------------
  ---
    ------ -----
    --------
      - ------------------
    ------
      - -------------

该配置文件指定了两个服务:appdbapp 的配置信息包括了 app 的构建指令、端口映射和依赖关系。db 的配置信息包括了 mongodb 镜像,数据卷和端口映射。

构建镜像

使用以下命令在 Docker 中构建镜像:

该命令将会根据配置文件构建服务定义,并创建 Docker 镜像。

启动应用

使用以下命令启动服务堆栈:

该命令将会启动服务堆栈,包括 appdb 服务。

访问应用

在浏览器中输入 http://localhost:3000,该应用将会正常运行。

总结

本篇文章介绍了 Docker Compose 的基本概念、配置文件和常用命令,并提供了一个基于 Node.js 和 MongoDB 的 web 应用的实例供读者参考。使用 Docker Compose 可以轻松管理多个 Docker 容器,简化部署过程。

Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/64ce6b3fb5eee0b52563a764

Feed
back