Docker下使用Compose部署Python框架Django

timg.jpg

Django是一個(gè)開源代碼的Web應(yīng)用框架,由Python寫成挺狰。
首先創(chuàng)建一個(gè)空的文件夾政敢,文件名稱默認(rèn)就是項(xiàng)目名稱,取名為pweb嬉挡,然后在文件夾里面新建一個(gè)Dockerfile文件钝鸽,用于構(gòu)建Django應(yīng)用的鏡像。首先需要一個(gè)Python基礎(chǔ)鏡像作為基礎(chǔ)開發(fā)環(huán)境庞钢,這里選擇Python3.7拔恰。

FROM python:3.7
ENV PYTHONUNBUFFERED 1er
RUN mkdir /code
COPY requirements.txt /code/
WORKDIR /code
RUN pip install -r requiements.txt
ADD .  /code/er

保存Dockerfile之后,需要根據(jù)依賴編寫requirements.txt文件基括,依賴不多颜懊,就只有兩個(gè):

Django
psycopg2

保存requirements.txt文件,然后一個(gè)Django鏡像的基本材料就齊了风皿。
就剩下一份docker-compose.yml來編排整個(gè)過程河爹,因此新建docker-comerpose.yml文件,定義兩個(gè)服務(wù)桐款,一個(gè)是數(shù)據(jù)庫(db)咸这,另一個(gè)是Django應(yīng)用(app),數(shù)據(jù)庫選擇postgres,應(yīng)用基于上面的Dockerfile構(gòu)建鲁僚。

version: '2'
services:
  db:
    image: postgres
  app:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

保存dicker_compose.yml文件炊苫,現(xiàn)在已經(jīng)完成了關(guān)于Compose的定義工作,接下來就是利用Compose生成一個(gè)Django項(xiàng)目冰沙。

PS G:\pweb> docker-compose run app django-admin.py startproject compose_example .

執(zhí)行之后查看項(xiàng)目文件夾侨艾,可以看到基本項(xiàng)目已經(jīng)創(chuàng)建完成。

PS G:\pweb> ls
    目錄: G:\pweb
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2019/8/23     18:23                compose_example
-a----        2019/8/23     17:49            220 docker-compose.yml
-a----        2019/8/23     18:06            150 Dockerfile
-a----        2019/8/23     18:23            813 manage.py
-a----        2019/8/23     18:03             26 requirements.txt

現(xiàn)在項(xiàng)目已經(jīng)創(chuàng)建拓挥,然后就需要配置數(shù)據(jù)庫了唠梨,打開compose_example/setting.py文件,修改DATABASES = ...的內(nèi)容如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgressql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'HOST': 'db',
        'PORT': 5432,
    }
}

完成上面步驟后侥啤,就已經(jīng)完成全部運(yùn)行前的工作了当叭。
接著啟動(dòng)項(xiàng)目茬故,Compose會(huì)啟動(dòng)兩個(gè)容器并連接它們:

PS G:\pweb> docker-compose up
Starting pweb_db_1 ... done
Starting pweb_app_1 ... done                                                                                            
Attaching to pweb_db_1, pweb_app_1
db_1   | 2019-08-23 10:35:39.932 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db_1   | 2019-08-23 10:35:39.932 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1   | 2019-08-23 10:35:39.940 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1   | 2019-08-23 10:35:39.964 UTC [25] LOG:  database system was shut down at 2019-08-23 10:35:34 UTC
db_1   | 2019-08-23 10:35:39.973 UTC [1] LOG:  database system is ready to accept connections
app_1  | Performing system checks...
app_1  |
app_1  | System check identified no issues (0 silenced).
app_1  |
app_1  | You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
app_1  | Run 'python manage.py migrate' to apply them.
app_1  | August 23, 2019 - 10:35:41
app_1  | Django version 1.11.23, using settings 'compose_example.settings'
app_1  | Starting development server at http://0.0.0.0:8000/
app_1  | Quit the server with CONTROL-C.
app_1  | [23/Aug/2019 10:36:26] "GET / HTTP/1.1" 200 1716
app_1  | Not Found: /favicon.ico
app_1  | [23/Aug/2019 10:36:26] "GET /favicon.ico HTTP/1.1" 404 1971

打開瀏覽器,輸入地址 http://localhost:8000/蚁鳖,不出意外的話磺芭,可以看到如圖所示的成功部署的頁面。

TIM圖片20190823184010.png

到這里醉箕,就部署結(jié)束了钾腺。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市讥裤,隨后出現(xiàn)的幾起案子放棒,更是在濱河造成了極大的恐慌,老刑警劉巖己英,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件间螟,死亡現(xiàn)場離奇詭異,居然都是意外死亡损肛,警方通過查閱死者的電腦和手機(jī)厢破,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荧关,“玉大人溉奕,你說我怎么就攤上這事褂傀∪唐。” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵仙辟,是天一觀的道長同波。 經(jīng)常有香客問我,道長叠国,這世上最難降的妖魔是什么未檩? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮粟焊,結(jié)果婚禮上冤狡,老公的妹妹穿的比我還像新娘。我一直安慰自己项棠,他們只是感情好悲雳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著香追,像睡著了一般合瓢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上透典,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天晴楔,我揣著相機(jī)與錄音顿苇,去河邊找鬼。 笑死税弃,一個(gè)胖子當(dāng)著我的面吹牛纪岁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播则果,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蜂科,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了短条?” 一聲冷哼從身側(cè)響起导匣,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茸时,沒想到半個(gè)月后贡定,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡可都,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年缓待,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠牲。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旋炒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出签杈,到底是詐尸還是另有隱情瘫镇,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布答姥,位于F島的核電站铣除,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鹦付。R本人自食惡果不足惜尚粘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敲长。 院中可真熱鬧郎嫁,春花似錦、人聲如沸祈噪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钳降。三九已至厚宰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铲觉。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工澈蝙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人撵幽。 一個(gè)月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓灯荧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親盐杂。 傳聞我的和親對象是個(gè)殘疾皇子逗载,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

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