Docker Compose

Compose 简介

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。

  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

docker-compose.yml 的配置案例如下(配置参数参考下文):

实例

# yaml 配置实例
version: '3'
services:
  web:
    build: .
    ports:
   - "5000:5000"
    volumes:
   - .:/code
    - logvolume01:/var/log
    links:
   - redis
  redis:
    image: redis
volumes:
  logvolume01: {}


Compose 安装

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases

运行以下命令以下载 Docker Compose 的当前稳定版本:

$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 v2.2.2。

Docker Compose 存放在 GitHub,不太稳定。

你可以也通过执行下面的命令,高速安装 Docker Compose。

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

$ sudo chmod +x /usr/local/bin/docker-compose

创建软链:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

$ docker-compose version
cker-compose version 1.24.1, build 4667896b

注意: 对于 alpine,需要以下依赖包: py-pip,python-dev,libffi-dev,openssl-dev,gcc,libc-dev,和 make。

Docker Compose 是一种 Docker 编排工具,合理使用它能为 Docker 镜像的编排和管理带来诸多好处,提升 Docker 的运维效率[^2]。 ### 概述 Docker Compose 用于定义和运行多容器 Docker 应用程序。通过一个 YAML 文件(通常为 `docker-compose.yml`)来配置应用的服务,然后使用一条命令就能根据配置启动或停止所有服务[^1]。 ### 运转过程 虽然引用中未详细提及运转过程,但大致是读取 `docker-compose.yml` 文件中的配置信息,根据这些信息构建或拉取镜像,然后创建并启动容器,使多个容器协同工作。 ### `docker-compose.yml` 简单示例 引用未给出具体示例,但在实际使用中,一个简单的 `docker-compose.yml` 可能如下: ```yaml version: "3.9" services: web: image: nginx:latest ports: - "80:80" redis: image: redis:latest ``` ### 兼容性建议 如果使用的是 Docker Compose V2(大多数用户),可以省略 `version`;若需要保持兼容性(如部署在服务器上),建议使用 `version: "3.9"` [^3]。 ### 常用命令速查表 | 命令 | 功能说明 | 示例 | | --- | --- | --- | | `docker compose up` | 构建并启动所有服务 | `docker compose up` | | `docker compose up -d` | 后台运行(detach 模式),推荐用于开发 | `docker compose up -d` | | `docker compose down` | 停止并删除所有容器、网络、匿名卷 | `docker compose down` | | `docker compose stop` | 停止服务,但不删除容器 | `docker compose stop` | | `docker compose start` | 启动已停止的服务容器 | `docker compose start` | | `docker compose restart` | 重启所有服务 | `docker compose restart` | | `docker compose build` | 手动构建服务镜像 | `docker compose build` | | `docker compose pull` | 拉取最新镜像 | `docker compose pull` | | `docker compose push` | 推送镜像到远程仓库 | `docker compose push` | | `docker compose ps` | 查看服务容器状态 | `docker compose ps` | | `docker compose logs` | 查看日志 | `docker compose logs redis` | | `docker compose logs -f` | 实时追踪日志 | `docker compose logs -f app` | | `docker compose exec` | 在容器中执行命令(支持交互) | `docker compose exec redis redis-cli` | | `docker compose run` | 启动一个一次性容器运行命令 | `docker compose run app npm install` | | `docker compose config` | 查看合并后的配置(调试用) | `docker compose config` | | `docker compose top` | 查看容器的进程信息 | `docker compose top` | [^3] ### 安装方法 由于可能需要进行离线部署,可进行下载安装,以下是官网流程: 1. 下载并安装 Compose CLI 插件: ```bash DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose ``` 2. 为二进制文件添加可执行权限: ```bash chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose # install Compose for all users: sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose ``` 3. 测试安装: ```bash docker compose version ``` [^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值