標籤:docker python
概述
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-composechmod +x /usr/local/bin/docker-compose
django應用測試
Dockerfile
FROM python:2.7ENV PYTHONUNBUFFERED 1RUN mkdir /codeWORKDIR /codeADD requirements.txt /code/RUN pip install -r requirements.txtADD . /code/
requirements.txt
<span style="font-size:10px;">Djangopsycopg2</span>
服務配置docker-compose.yml
<span style="font-size:12px;">db: image: postgresweb: build: . command: python manage.py runserver 0.0.0.0:8887 volumes: - .:/code ports: - "8887:8887" links: - db
構建工程
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
docker compose環境搭建