Docker Compose总结

本文详细介绍了Docker Compose,它是用于多应用部署和管理的工具,通过docker-compose.yml文件实现服务编排。文章涵盖了Docker Compose的术语,如工程、服务和容器,以及使用步骤和配置文件的关键元素,如version、services、networks和volumes。此外,还讨论了如何启动和停止Docker Compose应用,并提供了相关资源链接。
摘要由CSDN通过智能技术生成

Docker Compose概述

Docker Compose是以单引擎模式(Single-Engine Mode)进行多应用的部署和管理(单引擎模式的服务编排);

解决的问题:一个完整应用的各协同服务的部署和管理,如一个完整网上商城后端应用的各个微服务;
解决的方式:通过一个声明式的YML配置文件描述整个应用,根据该文件配置执行命令完成部署;

1.Docker Compose 术语

Docker Compose运行目录下的所有文件(docker-compose.yml)组成一个工程,一个工程包含多个服务,
每个服务中定义了容器运行的镜像、参数、依赖,一个服务可包括多个容器实例;

Docker Compose将所管理的容器分为三层,分别是:

  1. 工程(project)
  2. 服务(service)
  3. 容器(container)

2.Docker Compose使用步骤

Docker Compose使用的三个步骤:

  1. 使用 Dockerfile 定义应用程序的环境;
  2. 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行;
  3. 最后,执行 docker-compose up 命令来启动并运行整个应用程序;

3.docker-compose.yml

Docker Compose配置文件第一层级key包含:

  1. version
  2. services
  3. networks
  4. volumes

3.1 version

version是必须指定的,而且总是位于文件的第一行,它定义了Compose文件格式(主要是 API)的版本;
version和Docker引擎的版本号有一个对应关系:

Compose file version Docker引擎
1 1.9.0+
2.0 1.10.0+
2.1 1.12.0+
2.2, 3.0, 3.1, 3.2 1.13.0+
2.3, 3.3, 3.4, 3.5 17.06.0+
2.4 17.12.0+
3.6 18.02.0+
3.7 18.06.0+

使用的是哪个版本的Docker引擎,version就写对应的版本号;

https://github.com/docker/compose/releases

3.2 services

services用于定义不同的应用服务:

version: "3"
services:
  mysql:
    image: mysql:8.0.16
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_USER=root
      - MYSQL_DATABASE=test
      - MYSQL_PASSWORD=root
    volumes:
      - mysql_data:/var/lib/mysql
      - ./mysql.ini:/etc/mysql/conf.d/my.cnf
      - ./init-mysql.sql:/docker-entrypoint-initdb.d/1-init-mysql.sql
      - ./init-master.sql:/docker-entrypoint-initdb.d/1-init-master.sql
    command: [
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值