栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker Compose快速入门

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker Compose快速入门

目录

Docker Compose是什么?    

安装Docker Compose

访问github选择所需版本的压缩包下载到本地

 授权

检查安装情况以及版本

Docker Compose yml配置文件

Docker Compose使用案例


Docker Compose是什么?    

        compose、machine 和 swarm 是docker 原生提供的三大编排工具。简称docker三剑客,Docker Compose能够在 Docker 节点上,以单引擎模式(Single-Engine Mode)进行多容器应用的部署和管理。多数的现代应用通过多个更小的微服务互相协同来组成一个完整可用的应用。将以上服务组织在一起,就是一个可用的应用。部署和管理繁多的服务是困难的。而这正是 Docker Compose 要解决的问题。Docker Compose 并不是通过脚本和各种冗长的 docker 命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,从而使用一条命令完成部署。应用部署成功后,还可以通过一系列简单的命令实现对其完整声明周期的管理。甚至,配置文件还可以置于版本控制系统中进行存储和管理。

安装Docker Compose

访问github选择所需版本的压缩包下载到本地

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

本文选用的是1.27.4版本的docker-compose-Linux-x86_64,本人Docker所在虚拟机环境为CentOS Linux release 7.9.2009。我将压缩包下载到了/data文件夹下

 授权

mv /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

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

chmod 777 /usr/local/bin/docker-compose

检查安装情况以及版本

docker-compose -v

Docker Compose yml配置文件

        Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用JSON。Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。Docker Compose 的 YAML 文件包含 4 个一级 key:version、services、networks、volumes

  • version 是必须指定的,而且总是位于文件的第一行。它定义了 Compose 文件格式(主要是 API)的版本。注意,version 并非定义 Docker Compose 或 Docker 引擎的版本号。
  • services 用于定义不同的应用服务
  • networks 用于指引 Docker 创建新的网络。默认情况下,Docker Compose 会创建 bridge 网络。这是一种单主机网络,只能够实现同一主机上容器的连接。当然,也可以使用 driver 属性来指定不同的网络类型。
  • volumes 用于指引 Docker 来创建新的卷。

Docker Compose使用案例

        其中depend_on属性是一个数组,表示当前容器需要在指定容器启动后启动

version: "3"
services:
  nginx:
    image: nginx:1.19.3-alpine
    restart: always
    container_name: nginx
    ports:
      - 80:80
    volumes:
      - /data/docker-compose/nginx:/etc/nginx
  tomcat1:
    image: tomcat:9.0.20-jre8-alpine
    restart: always
    container_name: tomcat1
    ports:
      - 8081:8080
    volumes:
      - /data/docker-compose/tomcat1/webapps:/usr/local/tomcat/webapps
    depends_on:
      - nginx
  tomcat2:
    image: tomcat:9.0.20-jre8-alpine
    restart: always
    container_name: tomcat2
    ports:
      - 8082:8080
    volumes:
      - /data/docker-compose/tomcat2/webapps:/usr/local/tomcat/webapps
    depends_on:
      - nginx

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号