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不支持远程编排,这意味着你只能在单台主机上编排一个基础设施。

标签:Docker,Fig
0
投稿

猜你喜欢

  • Windows 10X系统仿真模拟器更新功能曝光介绍

    2023-03-26 04:41:41
  • 1+1在什么情况下等于3,Excel里1+1等于?

    2022-05-31 10:23:03
  • Word文档如何去创建书法字帖的操作方法教学

    2022-02-10 23:46:06
  • Win11 22H2怎么跳过硬件检测强制升级?

    2023-10-11 20:38:47
  • win10如何加快运行速度_让win10提升流畅度的方法图文详解

    2022-08-18 01:11:31
  • Win11绿色护眼模式怎么开启?

    2022-09-28 21:35:21
  • 最后白送2个月!微软宣布Win10免费升级漏洞年底堵死

    2022-12-24 03:03:30
  • PPT图片美化教程:十字绣效果的设计方法

    2023-01-01 13:13:43
  • 如何使用线刷宝刷机 使用线刷宝进行刷机的教程

    2023-11-07 10:06:06
  • Excel怎么设置小数点显示的位数?Excel设置小数点位数的方法

    2022-11-03 12:52:24
  • 有道云笔记怎么设置链接?有道云笔记链接设置方法

    2022-02-13 01:55:17
  • Win10如何打开自带的XPS查看器

    2023-01-18 19:05:07
  • 如何安装和使用word公式编辑器

    2022-10-20 06:41:46
  • Win7实现远程关机的具体步骤

    2023-03-18 05:47:22
  • 如何找回回收站删除的文件的解决方法

    2022-10-26 00:00:36
  • Word中如何快速加粗文档里的数字?

    2023-08-14 17:46:46
  • excel如何快速查询出电话号码位数不对的方法,也适用于身份证

    2022-10-07 19:08:04
  • pdf编辑器怎么使用?PDF编辑器使用教程

    2022-06-19 05:33:15
  • win10系统空间容量不足的解决方法

    2023-07-23 01:07:03
  • 有关职称计算机excel技巧

    2023-07-22 21:43:55
  • asp之家 电脑教程 m.aspxhome.com