您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

云计算核心技术Docker教程:docker-compose使用多个配置文件

时间:2021-01-26 10:38:00  来源:  作者:
云计算核心技术Docker教程:docker-compose使用多个配置文件

使用多个Compose文件使您可以针对不同的环境或不同的工作流程自定义Compose应用程序。

默认情况下,Compose读取两个文件,一个Docker-compose.yml和一个可选 docker-compose.override.yml文件。按照约定,docker-compose.yml 包含您的基本配置。顾名思义,替代文件可以包含现有服务或全新服务的配置替代。

如果在两个文件中都定义了服务,则Compose使用添加和覆盖配置中描述的规则合并 配置。

要使用多个替代文件或具有不同名称的替代文件,可以使用该-f选项指定文件列表。Compose按照在命令行上指定的顺序合并文件。有关使用的更多信息,请参见 docker-compose命令参考-f。

使用多个配置文件时,必须确保文件中的所有路径都相对于基本的Compose文件(用指定的第一个Compose文件-f)。这是必需的,因为替代文件不一定是有效的撰写文件。替代文件可以包含一些小的配置片段。跟踪服务的哪个片段相对于哪个路径是困难且令人困惑的,因此为了使路径更易于理解,必须相对于基本文件定义所有路径。

用例示例

在本节中,有两个常见的用例,用于多个Compose文件:针对不同的环境更改Compose应用程序,以及针对Compose应用程序运行管理任务。

不同的环境

多个文件的常见用例是将开发Compose应用程序更改为生产环境(可能是生产,演示或CI)。为了支持这些差异,您可以将Compose配置拆分为几个不同的文件:

从定义服务规范配置的基本文件开始。

docker-compose.yml

web:

image: example/my_web_App:latest

depends_on:

- db

- cache

db:

image: postgres:latest

cache:

image: redis:latest

在此示例中,开发配置将一些端口暴露给主机,将我们的代码作为卷安装,并构建Web映像。

docker-compose.override.yml

web:

build: .

volumes:

- '.:/code'

ports:

- 8883:80

environment:

DEBUG: 'true'

db:

command: '-d'

ports:

- 5432:5432

cache:

ports:

- 6379:6379

运行时,docker-compose up它会自动读取覆盖。

现在,很高兴在生产环境中使用此Compose应用程序。因此,请创建另一个替代文件(该文件可以存储在其他git repo中,也可以由其他团队进行管理)。

docker-compose.prod.yml

web:

ports:

- 80:80

environment:

PRODUCTION: 'true'

cache:

environment:

TTL: '500'

要使用此生产Compose文件进行部署,您可以运行

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d

该部署使用配置中的所有三个服务 docker-compose.yml和docker-compose.prod.yml(但不是在开发配置docker-compose.override.yml)。

有关生产中撰写的更多信息,请参见生产。

行政任务

另一个常见用例是针对Compose应用程序中的一个或多个服务运行临时任务或管理任务。本示例演示了如何运行数据库备份。

从docker-compose.yml开始。

web:

image: example/my_web_app:latest

depends_on:

- db

db:

image: postgres:latest

在docker-compose.admin.yml中添加新服务以运行数据库导出或备份。

dbadmin:

build: database_admin/

depends_on:

- db

要开始正常的环境运行docker-compose up -d。要运行数据库备份,请同时包含docker-compose.admin.yml。

docker-compose -f docker-compose.yml -f docker-compose.admin.yml

run dbadmin db-backup

免责声明:以上内容转载自TMT观察网,所发内容不代表本平台立场。



Tags:Docker   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  Tags: Docker  点击:(10)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  Tags: Docker  点击:(10)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  Tags: Docker  点击:(47)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  Tags: Docker  点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  Tags: Docker  点击:(48)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  Tags: Docker  点击:(61)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  Tags: Docker  点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  Tags: Docker  点击:(167)  评论:(0)  加入收藏
环境要求 ubuntu系统:20.04 docker版本:20.10.7 redis版本:6.0.6步骤由于我这里已经有相应的redis镜像,这里就不记录了,关于docker一些基础知识可以看我以前的笔记开启3台re...【详细内容】
2021-07-26  Tags: Docker  点击:(117)  评论:(0)  加入收藏
今天在虚拟机里面安装了docker,利用docker起了一个centos。里面配置完成openssh后,利用xsheel连接docker里面的centos,发现特别慢,差不多要的1分钟才能连接上去。这肯定是有问题...【详细内容】
2021-07-21  Tags: Docker  点击:(131)  评论:(0)  加入收藏
▌简易百科推荐
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  实战Java    Tags:Docker   点击:(10)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  编程菌zfn    Tags:Docker   点击:(10)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  无    Tags:docker   点击:(47)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  小码哥聊软件测试    Tags:Docker   点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  抓蛙程序猿    Tags:docker   点击:(48)  评论:(0)  加入收藏
环境:Spring5.3.10通常,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,SpringIOC容器可以通过插入特殊集成接口的实现来扩展。使用BeanPostProcessor自定...【详细内容】
2021-10-26  Java网络研发架构师    Tags:Spring   点击:(33)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  运维贼船    Tags:docker   点击:(61)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  程序狗爱化妆    Tags:Nacos   点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  晋升奶爸的垃圾佬    Tags:Docker   点击:(167)  评论:(0)  加入收藏
环境要求 ubuntu系统:20.04 docker版本:20.10.7 redis版本:6.0.6步骤由于我这里已经有相应的redis镜像,这里就不记录了,关于docker一些基础知识可以看我以前的笔记开启3台re...【详细内容】
2021-07-26  石老师小跟班    Tags:Redis主从复制   点击:(117)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条