介绍
Docker是一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有更高效的利用系统资源,更快速的启动时间,更轻松的迁移和部署的特点。
前期准备
-安装:Docker Engine,Docker Compose
-注册:Docker Hub
Docker打包Django
新建一个文件夹,命名为mysite。
在文件夹中新建一个文件,Dockerfile。注意该文件没有后缀。在Dockerfile中写入以下内容。Dockerfile指定了运行环境为python2.7,需要的环境放在requirements.txt中。
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,写入我们的依赖环境。Django是一个基于Python的开放源代码的Web应用框架。psycopg2,是Python语言的PostgreSQL数据库接口。
Django
psycopg2
- 新建一个文件名为docker-compose.yml,该文件描述了应用的组成并指定程序的端口号。
version: '2'
services:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
4.在docker中使用如下命令建立Django工程,执行后目录下会新增一个名为composeexample的文件夹。
docker-compose run web django-admin.py startproject composeexample .
- 修改composeexample/settings.py文件中的DATABASES如下图所示。另外如果你是用的是Docker Toolbox ,可能需要在settings.py文件中的ALLOWED_HOSTS中加入'192.168.99.100'。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
- 运行。输入如下指令,然后访问192.168.99.100:8000,即可看到Django运行成功。
docker-compose up