net
设置网络模式。使用和 docker client 的 --net 参数一样的值。
net: "bridge"
net: "none"
net: "container:[name or id]"
net: "host"
dns
配置DNS服务器。它可以是一个值,也可以是一个列表。
dns: 8.8.8.8
dns:
- 8.8.8.8
- 9.9.9.9

working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged
这些都是和 docker run 对应的一个值。
working_dir: /code
entrypoint: /code/entrypoint.sh
user: postgresql
hostname: foo
domainname: foo.com
mem_limit: 1000000000
privileged: true
*注意: 现在已经不推荐使用环境变量链接服务。替代方案是使用链接名称(默认就是被连接的服务名字)作为主机名来链接。详情查看 。
Fig 使用 Docker 链接来暴露一个服务的容器给其它容器。每一个链接的容器会注入一组以容器名称的大写字母开头得环境变量。
查看一个服务有那些有效的环境变量可以执行 fig run SERVICE env。
name_PORT
完整URL,例如: DB_PORT=tcp://172.17.0.5:5432
name_PORT_num_protocol
完整URL,例如: DB_PORT_5432_TCP=tcp://172.17.0.5:5432
name_PORT_num_protocol_ADDR
容器的IP地址,例如: DB_PORT_5432_TCP_ADDR=172.17.0.5
name_PORT_num_protocol_PORT
暴露端口号,例如: DB_PORT_5432_TCP_PORT=5432
name_PORT_num_protocol_PROTO
协议(tcp 或 udp),例如: DB_PORT_5432_TCP_PROTO=tcp
name_NAME
完整合格的容器名称,例如: DB_1_NAME=/myapp_web_1/myapp_db_1
我们现在将使用 Fig 配置并运行一个 Django/PostgreSQL 应用。在此之前,先确保 Fig 已经 。
在一切工作开始前,需要先设置好三个必要的文件。
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
以上内容指定应用将使用安装了 Python 以及必要依赖包的镜像。更多关于如何编写 Dockerfile 文件的信息可以查看 和 。
第二步,在 requirements.txt 文件里面写明需要安装的具体依赖包名 。
Django
psycopg2
就是这么简单。
第三步,fig.yml 文件将把所有的东西关联起来。它描述了应用的构成(一个 web 服务和一个)、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷,以及服务开放的端口。
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-86704-5.html
俺到江浙去
11111111111