举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > docker简介及使用 Docker的fig简介

docker简介及使用 Docker的fig简介

2023-06-07 15:18

docker简介及使用 Docker的fig简介

docker简介及使用 Docker的fig简介

docker简介及使用

快速搭建基于 Docker 的隔离开发环境

使用 Dockerfile 文件指定你的应用环境,让它能在任意地方复制使用:

FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt

fig.yml 文件中指定应用使用的不同服务,让它们能够在一个独立的环境中一起运行:

web:
  build: .
  command: python app.py
  links:
   - db
  ports:
   - "8000:8000"
db:
  image: postgres

*注意不需要再额外安装 Postgres 了!

接着执行命令 fig up ,然后 Fig 就会启动并运行你的应用了。

Docker

Fig 可用的命令有:

  • 启动、停止,和重建服务
  • 查看服务的运行状态
  • 查看运行中的服务的输入日志
  • 对服务发送命令

快速上手

我们试着让一个基本的 Python web 应用运行在 Fig 上。这个实验假设你已经知道一些 Python 知识,如果你不熟悉,但清楚概念上的东西也是没有问题的。

首先,安装 Docker 和 Fig

为你的项目创建一个目录

$ mkdir figtest
$ cd figtest

进入目录,创建 app.py,这是一个能够让 Redis 上的一个值自增的简单 web 应用,基于 Flask 框架。

from flask import Flask
from redis import Redis
import os
app = Flask(__name__)
redis = Redis(host="redis", port=6379)

@app.route("/")
def hello():
    redis.incr("hits")
    return "Hello World! I have been seen %s times." % redis.get("hits")

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)

requirements.txt 文件中指定应用的 Python 依赖包。

flask
redis

下一步我们要创建一个包含应用所有依赖的 Docker 镜像,这里将阐述怎么通过 Dockerfile 文件来创建。

FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt

以上的内容首先告诉 Docker 在容器里面安装 Python ,代码的路径还有Python 依赖包。关于 Dockerfile 的更多信息可以查看 镜像创建 和 Dockerfile 使用

接着我们通过 fig.yml 文件指定一系列的服务:

web:
  build: .
  command: python app.py
  ports:
   - "5000:5000"
  volumes:
   - .:/code
  links:
   - redis
redis:
  image: redis

这里指定了两个服务:

  • web 服务,通过当前目录的 Dockerfile 创建。并且说明了在容器里面执行python app.py 命令 ,转发在容器里开放的 5000 端口到本地主机的 5000 端口,连接 Redis 服务,并且挂载当前目录到容器里面,这样我们就可以不用重建镜像也能直接使用代码。
  • redis 服务,我们使用公用镜像 redis。
  • 现在如果执行 fig up 命令 ,它就会拉取 redis 镜像,启动所有的服务。
$ fig up
Pulling image redis...
Building web...
Starting figtest_redis_1...
Starting figtest_web_1...
redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3
web_1   |  * Running on http://0.0.0.0:5000/

这个 web 应用已经开始在你的 docker 守护进程里面监听着 5000 端口了(如果你有使用 boot2docker ,执行 boot2docker ip ,就会看到它的地址)。

如果你想要在后台运行你的服务,可以在执行 fig up 命令的时候添加 -d 参数,然后使用 fig ps 查看有什么进程在运行。

$ fig up -d
Starting figtest_redis_1...
Starting figtest_web_1...
$ fig ps
        Name                 Command            State       Ports
-------------------------------------------------------------------
figtest_redis_1   /usr/local/bin/run         Up
figtest_web_1     /bin/sh -c python app.py   Up      5000->5000/tcp

fig run 指令可以帮你向服务发送命令。例如:查看 web 服务可以获取到的环境变量:

$ fig run web env

执行帮助命令 fig --help 查看其它可用的参数。

假设你使用了 fig up -d 启动 Fig,可以通过以下命令停止你的服务:

$ fig stop

以上内容或多或少的讲述了如何使用Fig 。通过查看下面的引用章节可以了解到关于命令、配置和环境变量的更多细节。如果你有任何想法或建议,可以在 GitHub 上提出。


阅读全文
以上是编程学为你收集整理的docker简介及使用 Docker的fig简介全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • docker容器连接外网 Docker 容器连接

    docker容器连接外网 Docker 容器连接

    2023-03-31 Docker教程

    前面我们实现了通过网络端口来访问运行在 docker 容器内的服务。下面我们来实现通过端口连接到一个 docker 容器。网络端口映射我...

  • flutter国际化多语言 Flutter 国际化

    flutter国际化多语言 Flutter 国际化

    2023-05-30 Flutter中文文档

    设置一个国际化的应用程序: the flutter_localizations package默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支...

  • 云开发数据库怎么用 云开发 数据表单

    云开发数据库怎么用 云开发 数据表单

    2023-03-15

    在前面的章节所用到的数据大多都是我们在js的data里写好的,在这一节里,我们会来介绍如何让用户提交数据。无论是计算器、用户注...

  • 动画布局黄金比例 动画布局

    动画布局黄金比例 动画布局

    2023-04-17

    保留所有版权。源代码是在 BSD-style 许可下经过许可的,是在源代码树的根目录下的 LICENSE 文件里找到的。额外授予的专利权可以...

  •  ToastAndroid

    ToastAndroid

    2023-04-28 ToastAndroid

    它揭示了如何将本地 ToastAndroid 模块作为一个 JS 模块。它有一个名为showText的函数,其拥有的参数如下所示:字符串消息:将文...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部