美文网首页
使用Docker编译Django

使用Docker编译Django

作者: 北纬30度是夏天 | 来源:发表于2017-02-21 20:36 被阅读0次

介绍

Docker是一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有更高效的利用系统资源,更快速的启动时间,更轻松的迁移和部署的特点。

前期准备

-安装:Docker EngineDocker Compose
-注册:Docker Hub

Docker打包Django

  1. 新建一个文件夹,命名为mysite。

  2. 在文件夹中新建一个文件,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/
  1. 新建requirements.txt,写入我们的依赖环境。Django是一个基于Python的开放源代码的Web应用框架。psycopg2,是Python语言的PostgreSQL数据库接口。
Django
psycopg2
  1. 新建一个文件名为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 .

  1. 修改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,
     }
 }
  1. 运行。输入如下指令,然后访问192.168.99.100:8000,即可看到Django运行成功。
    docker-compose up
运行成功截图

相关文章

网友评论

      本文标题:使用Docker编译Django

      本文链接:https://www.haomeiwen.com/subject/ifouwttx.html