概述
Docker Compose提供一个简单的基于YAML配置语言。用于描写叙述和组装多容器的分布式应用。 使用docker定义和执行复杂的应用。使用compose,能够在一个文件中,定义多容器的应用。
仅仅须要三步就可以完毕一个应用的创建。
- Dockerfile定义app的执行环境
- docker-compose.yml定义组成app的services
- run
docker-compose up
环境搭建
系统:ubuntu 14.04
curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
django应用測试
Dockerfile
FROM python:2.7 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/requirements.txt
<span style="font-size:10px;">Django psycopg2</span>服务配置docker-compose.yml
<span style="font-size:12px;">db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8887 volumes: - .:/code ports: - "8887:8887" links: - db构建project
docker-compose run web django-admin.py startproject composedjango .
连接数据库。改动composedjango/settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'postgres', 'USER': 'postgres', 'HOST': 'db', 'PORT': 5432, } }执行
$ docker-compose run web python manage.py syncdb
启动应用
docker-compose up
至此,通过docker compose就实现了一个简单的Django应用,能够通过网页即可訪问。ip:8887