一、介绍
Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。Compose 用 YAML 文件配置应用程序的服务。使用单一命令,可以从 YAML 文件配置中创建并启动所有服务。适用于所有环境生产、开发、测试以及 CI/CD 工作流程。Compose的使用三步:
- 使用 Dockerfile 自定义应用程序的环境,便于在任何地方复制它;
- 使用 docker-compose.yml 定义构成的应用程序的服务,便于隔离环境中一起运行;
- 运行 docker-compose up 命令启动并运行整个应用程序。
Docker 是 Docker Compose 的前提,Docker Compose 是为了简化使用 Docker 时多容器应用的管理和部署而设计的。两者之间相辅相成,Docker 提供容器化的核心功能,Docker Compose 则管理这些容器的组合和交互。两者面向不同用户,Docker 面向任何需要容器化应用的用户,Docker Compose 则面向需要同时管理多个容器的开发者和运维团队。
二、Compose 安装
查看当前docker版本:
下载docker-compose软件:
curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
创建软链:
测试是否安装成功:
三、Docker Compose--文件基本结构
通过 Docker-Compose ,不需要使用shell脚本来启动容器,而使用 YAML 文件来配置应用程序需要的所有服务,然后使用一个命令,根据 YAML 的文件配置创建并启动所有服务。
version: '3.5'
services:
nacos1:
restart: always
image: nacos/nacos-server:${NACOS_VERSION}
container_name: nacos1
privileged: true
ports:
- "8001:8001"
- "8011:9555"
deploy:
resources:
limits:
cpus: '0.50'
memory: 1024M
env_file:
- ./nacos.env
environment:
NACOS_SERVER_IP: ${NACOS_SERVER_IP_1}
NACOS_APPLICATION_PORT: 8001
NACOS_SERVERS: ${NACOS_SERVERS}
volumes:
- ./logs_01/:/home/nacos/logs/
- ./data_01/:/home/nacos/data/
- ./config/:/home/nacos/config/
networks:
- ha-network-overlay
nacos2:
restart: always
image: nacos/nacos-server:${NACOS_