Docker结合自动化编排工具Fig的使用方法
发布时间:2022-11-26 03:59:56
这篇文章主要介绍了Docker结合自动化编排工具Fig的使用方法,Fig可以做到包括自动化创建容器等功能,需要的朋友可以参考下
Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司。Fig通过一个配置文件来管理多个 Docker容器,非常适合组合使用多个容器进行开发的场景。Fig可以和Docker一起来构建基于Docker的复杂应用。本文详细介绍了Fig的安装以及使用。
什么是编排?
编排(译者注:Orchestration,翻译为编排)是指同时管理多个容器的行为。当你刚开始玩Docker 的时候,你只需要操作一个容器。紧接着你学习了网络并得知把所有进程都放入同一个容器中并不合适,然后不知不觉你就发现自己已经建立了多容器的基础架构。 你第一次尝试可能不会感到复杂,但是当使用两个或者三个容器的时候,你就会觉得很麻烦。手动连接容器、管理卷,很快你就乱了,应该有更好更实用的工具来做 这件事。
Fig简介
这个更实用的工具称为Fig。Fig是Orchard的一个产品并很快成为自动化Docker容器编排一个事实标准,目前Fig已经被Docker公司收购并成为官方支持的解决方案。
安装Fig
Fig是一个Python Package,你可以使用以下命令来安装:
复制代码代码如下:
$ sudo pip install -U fig
就这么简单。如果不能工作,可以从Fig的官方文档中了解更多信息。
使用Fig
使用Fig来编排一个基础设施,你首先需要在YAML配置文件中描述它。描述语法很简单,和Docker有点类似。
下面是Pagekit CMS的Fig配置示例:
复制代码代码如下:
web:
image: ubermuda/pagekit
ports:
- 80
links:
- db:pagekit_db_1
volumes_from:
- data
db:
image: orchardup/mysql
environment:
MYSQL_ROOT_PASSWORD: changethis
MYSQL_DATABASE: pagekit
data:
image: busybox
command: /bin/true
volumes:
- /pagekit/storage
- /pagekit/app/cache
这个配置文件定义了三个不同的容器。
web容器是面向web方面的容器,它基于ubermuda/pagekit镜像构建,你可以从GitHub上获取ubermuda/pagekit的源码,web容器会暴露80端口(通过ports参数),使用别名pagekit_db_1(links)连接到db容器,并且data容器的卷(volumes)也会被挂载到web容器。
从db容器中我们能看到在容器中定义环境变量是多么简单:只要使用environment配置即可。在示例中,我们在配置文件中定义了所有的值,但你也可以省略这些值,这样容器会从它的宿主机中获取。
复制代码代码如下:
db:
environment:
MYSQL_ROOT_PASSWORD
所述的MYSQL_ROOT_PASSWORD环境变量被来自主机的同名环境变量填充。
最后,data容器通过volumes参数定义了即将使用的所有目录作为共享卷目录。
配置文件写完后,你只需要一个fig up命令即可启动你的基础设施。
复制代码代码如下:
$ fig up
Creating dockerpagekit_db_1...
...
Creating dockerpagekit_data_1...
Creating dockerpagekit_web_1...
...
Attaching to dockerpagekit_db_1, dockerpagekit_web_1
...
db_1 | 141110 4:14:02 [Note] /usr/sbin/mysqld: ready for connections.
db_1 | Version: '5.5.38-0ubuntu0.12.04.1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
...
web_1 | 2014-11-10 04:15:20,750 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
web_1 | 2014-11-10 04:15:20,750 INFO success: php5-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
完整的启动日志有点太长了,所以我只截取了一部分。正如你所看到的,Fig创建了三个容器,dockerpagekit_db_1可以连接到dockerpagekit_web_1,正是我们想要的。
你可能还注意到有一个数据容器没有日志线,那是因为 /bin/true 命令无法正常输出。
现在你可以在另一个终端中运行docker ps命令来检查一切是否运行正常,同时,可是使用浏览器来确认web容器是否正常启动。(你首先需要确认映射端口,可以使用docker ps或docker port)。
说明
截至本文写作之时,Fig不支持远程编排,这意味着你只能在单台主机上编排一个基础设施。


猜你喜欢
- 经常需要设置单元格的各种格式,比如给单元格设置字体、字号、倾斜度、背景颜色,如果需要快速设置,就需要运用到WPS表格的样式功能,但如果电脑上
- 说明DEC2OCT 函数将十进制数字转换为八进制数字。返回值八进制数字。语法=DEC2OCT(number, [places])参数Numb
- wps是什么意思?WPS是英语文字处理系统的缩写。这是金山软件公司的办公软件。它最早出现在 * ,在微软视窗系统出现和DOS系统流行之前
- 在Windows XP下,如果建立了一个新的非受限者用户(计算机管理员),下次登录计算机时,将不会出现Administrator超级用户的登
- WPS广告窗口如何进行彻底关闭教学分享。在安装了WPS软件之后,很多用户都会遇到这样的烦恼,安装了WPS软件之后,电脑就会常常出现WPS软件
- 最近有Win10 1903版本用户在更新升级新系统的过程中,遇到错误代码提示0x80073701,这是什么情况?那要怎样解决呢?接下来就一起
- 我们在使用Excel对进行数据的储存和管理的时候,单纯的文字数字总是会让我们的视觉出现疲惫,我们经常会使用到扇形统计图来缓解这一问题,通过扇
- 朋友们应该都知道在电脑医生中有一项名为一键修复的功能,它调用了系统的sfc修复工具,会对系统文件的完整性进行扫描和修复,专治因系统文件损坏导
- 在WPS中输入条形码可以下载字体【C39HrP24DhTt】,安装到字体库后(解压后放到C:WINDOWSFonts ),在WPS中使用改字
- 有用户在微软Win10电脑玩游戏时因为Intel显卡的性能没有设置好,导致游戏不流畅。其实用户可以调整Win10系统英特尔核心显卡控制面板的
- 近期有Win11用户称,在windows更新的窗口中提示了你的设备已过期缺少重要的安全和质量更新,这可能是因为你的电脑没有开启自动更新,及时
- word2010怎么使用邮件合并功能?word中想要使用邮件合并功能来实现格式统一的效果,该怎么使用邮件合并呢?下面我们就来看看详细的教程,
- 微软Windows 11 22H2正式版系统已经发布啦,带来了许多新的功能,用户纷纷晒出自己成功安装Win11 22H2的系统截图。但是还有
- 如果我们想要方便地打开某个程序就会将程序的快捷方式发送到桌面上。想要方便设置宽带连接或查看本地连接属性,也可以设置到桌面上。如果在电脑系统桌
- Win7系统用DOS命令解压文件的详细步骤是什么?DOS命令可以做到的事情有很多,就比如说压缩文件。而对于如何使用DOS命令来压缩文件,相信
- 通常,在操作WPS表单时,调整表单通常是通过复制、粘贴和用右键插入来进行调整的,这既复杂又耗时。事实上,你只能用鼠标来调整表格,但你就是不知
- 我们使用win10专业版系统时,有遇到桌面假死的情况,怎么都动不了,除了强制关机,我们还有什么方法可以解决这个问题呢?一起来学习一下。Win
- wps表格为我们提供了多种样式,那么,我们应该如何使用这些样式呢?下面就让小编告诉你 如何使用wps表格样式的方法。使用wps表格样式的方法
- 又到毕业季节了.如何做好毕竟答辩呢.有了WPS2012.一切不用愁啦毕业答辩PPT模板哪里找?WPS Office 2012在线模板库为大家
- 有不少用户遇到了网络共享打印机无法连接的问题,尤其是Win10最常遇见,打印机后提示“windows无法连接到打印机0x0000011b”错