使用Docker編譯Django

介紹

Docker是一種新興的虛擬化方式,跟傳統(tǒng)的虛擬化方式相比具有更高效的利用系統(tǒng)資源,更快速的啟動(dòng)時(shí)間,更輕松的遷移和部署的特點(diǎn)。

前期準(zhǔn)備

-安裝:Docker EngineDocker Compose
-注冊(cè):Docker Hub

Docker打包Django

  1. 新建一個(gè)文件夾,命名為mysite。

  2. 在文件夾中新建一個(gè)文件,Dockerfile。注意該文件沒有后綴。在Dockerfile中寫入以下內(nèi)容。Dockerfile指定了運(yùn)行環(huán)境為python2.7,需要的環(huán)境放在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,寫入我們的依賴環(huán)境。Django是一個(gè)基于Python的開放源代碼的Web應(yīng)用框架。psycopg2,是Python語言的PostgreSQL數(shù)據(jù)庫接口。
Django
psycopg2
  1. 新建一個(gè)文件名為docker-compose.yml,該文件描述了應(yīng)用的組成并指定程序的端口號(hào)。
 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工程,執(zhí)行后目錄下會(huì)新增一個(gè)名為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. 運(yùn)行。輸入如下指令,然后訪問192.168.99.100:8000,即可看到Django運(yùn)行成功。
    docker-compose up
運(yùn)行成功截圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容