文章 4 0

    Docker Compose 入门教程

    Docker Compose 是一个用于在 Docker 上运行多容器应用程序的工具,它使用 Compose 文件格式来定义构成应用程序的服务。Compose 文件用于定义应用程序的配置,一旦有了 Compose 文件,您可以使用单一命令 docker compose up 来创建和启动应用程序。

    Docker Compose 的优势在于能够将一个项目的所有依赖环境配置好,让我们可以快速地运行起来,而无需处理环境的依赖问题。当项目需要用到诸如数据库、Redis 等其他服务时,使用 Docker Compose 可以通过一个 yml 文件完全配置好所有项目和项目依赖,只需一行命令就可以快速启动项目。

    安装 Docker Compose 在 Linux 系统上通常需要以下步骤:

    1. 使用 curl 命令下载 Docker Compose 的可执行文件,并将其放置在 /usr/local/bin/docker-compose
    2. 使用 chmod 命令赋予该文件可执行权限。
    3. 使用 docker-compose --version 命令检查是否安装成功。

    在 Ubuntu 系统上,可以通过 sudo apt install docker-compose 来安装 Docker Compose。

    配置文件(docker-compose.yml)是 Docker Compose 的核心部分,它定义了服务、网络和卷等。例如,一个简单的 docker-compose.yml 文件可能包含以下内容:

    version: '3.9'
    services:
      web:
        build: ./app
        command: flask run --host=0.0.0.0 --port=5000
        ports:
          - '8000:5000'
        environment:
          DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
        depends_on:
          db:
            condition: service_healthy
      db:
        image: postgres:16
        restart: unless-stopped
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
          POSTGRES_DB: ${POSTGRES_DB}
        volumes:
          - db_data:/var/lib/postgresql/data
        healthcheck:
          test: ['CMD-SHELL', 'pg_isready -U postgres -d ${POSTGRES_DB}']
    volumes:
      db_data:

    在这个配置文件中,我们定义了两个服务:Web 应用和数据库服务。Web 应用服务使用 build 指令构建镜像,并使用 command 指令启动 Flask 应用。数据库服务使用 image 指令拉取 PostgreSQL 镜像,并配置了环境变量、卷和健康检查等。

    总之,Docker Compose 提供了一种简单而强大的方式来管理和运行多容器应用程序,极大地简化了开发和部署流程。