首页 > 代码库 > 阿里容器服务-编排模板语法简价

阿里容器服务-编排模板语法简价

容器服务支持Docker Compose编排模板来描述多容器应用。

作用:

用于描述一个完整的应用,该应用可由好多个服务组成。例如一个web,他是由nginx/httpd+php+mysql组成。甚至可以根据服务量启动两个甚至更多的容器。

能力:

容器服务支持通过编排模板文件,自动化地部署和管理一个容器应用。
编排模板文件使用的标签兼容大部分 Docker Compose 1.5.x 到 1.7.x 版本实现的标签。有关具体兼容的标签,参见 标签说明。
编排模板文件也支持 Compose V1 和 V2 两种不同版本的模板格式。更多详细信息,参见 文档。
容器服务也在社区版本之上提供了很多扩展能力:
与社区的 Docker Compose 和 Swarm 不同,阿里云容器服务支持跨节点的容器连接(link),所以您可以直接将 Docker Compose 模板描述的应用部署到分布式集群上来提供高可用性和可伸缩性。
容器服务也在社区 Compose 模板描述的基础上提供了一系列扩展来简化 Web、微服务应用的部署和运维。这就是容器里的标签

直接从一个例子看

wordpress:
        image: registry.aliyuncs.com/acs-sample/wordpress:yunqi   
        #代表这个服务的镜像
        ports:                                                    
            - 80
            #代表容器会暴露80端口
        volumes:
            - /acs/log/wordpress/:/var/log/                       
           #这里将容器内的目录/var/log/,映射到宿主机的/acs/log/wordpress/目录。(可供日志服务去采集)
        labels:                                                   
        #docker的标准能力  容器服务也提供了一些增值的能力(以aliyun开头的标签)
            aliyun.routing.port_80: wordpress                     
            #代表提供了路由能力,前端的域名是wordpress.<cluster_id>.<region_id>.alicontainer.com,并绑定到容器的端口8080
            aliyun.probe.url: http://container/license.txt      
            #代表了该镜像起来后的健康型检查URL是容器的内部地址:http://localhost/license.txt
            aliyun.probe.initial_delay_seconds: 5               
            #代表了在容器启动后延迟几秒开始健康检查
            aliyun.scale: 1                                     
            #代表了该镜像需要启动1个容器
            aliyun.depends: logtail                               
            #代表这个容器会等logtail启动之后再启动
            aliyun.latest_image: true                             
            #代表会拉取最新的镜像(对于tag不变而内容变化的镜像)
        restart: always                                           
        #代表容器挂了会自动重启
        links:                                                   
            - mysql
            #代表wordpress这个服务会连接到mysql,可以通过环境变量mysql.MYSQL_ROOT_PASSWORD获取密码
    mysql:
        image: mysql
        ports:
            - 80
        labels:
            aliyun.scale: "1"
        environment:
            - MYSQL_ROOT_PASSWORD=password  

 

阿里容器服务-编排模板语法简价