云服務(wù)器上利用Docker部署Django項目

一断箫、準備條件

  1. 購買裝有Linux系統(tǒng)的云服務(wù)器
  2. 添加安全組規(guī)則
    請參考官方文檔
  3. 安裝Docker
  4. 可運行的Django項目

二懊渡、Dockerfile編寫

在項目文件夾下新建名為Dockerfile的文件,內(nèi)容如下

FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

把項目運行需要用到的第三方庫寫在requirements.txt
例如本博客使用的requirements.txt

mongoengine
Django==1.11
mysqlclient
Markdown
Pygments

其中mongoengine用于使用MongoDB惰拱、Markdown用于把markdwon語法轉(zhuǎn)換成html代碼轨域、Pygments用于代碼高亮催首,這些庫具體的用法請自行探討

以上可根據(jù)項目靈活選擇需要安裝的庫

三、docker-compose.yml 文件的配置

在項目文件夾下新建名為docker-compose.yml的文件裙盾,如果使用mysql數(shù)據(jù)庫的話实胸,可以配置如下(使用其他數(shù)據(jù)庫配置方法大概相似)

version: '2'
services:
  db:
    image: mysql
    expose:
      - "3306"
    ports:
      - 3306:3306
    environment:
      - MYSQL_DATABASE=YourDatabaseName
      - MYSQL_ROOT_PASSWORD=YourPassWord

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
    - 6061:80
    links:
    - db  

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:80
    volumes:
      - .:/code
    ports:
      - "80:80"
    links:
      - db



其中PHPmyadmin用來可視化mysql數(shù)據(jù)庫,這里讓它運行在6061端口

更多關(guān)于Docker的知識請參考官方文檔

四番官、配置Django項目的settings.py的數(shù)據(jù)庫設(shè)置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': YourDatabaseName,
        'USER' :  root,
        'PASSWORD'  : YourPassWord,
        'HOST'      : YourIPAddress,
        'PORT'      : 3306,
    }
}



注意庐完,NAMEPASSWORD必須根Dockercompose.yml中配置的數(shù)據(jù)庫名和密碼一致

五、下載啟動鏡像

把項目代碼上傳到服務(wù)器徘熔,進入項目文件夾门躯,命令行中輸入如下命令

docker-compose up

該命令會下載docker-compose.yml中給定的鏡像和Dockerfile中需要使用的庫(如果以后要擴展requirements.txt中的庫的話,需要執(zhí)行docker-compose build命令重建鏡像)酷师,下載完成之后會嘗試運行鏡像生音。


ps: 如果第一次啟動不成功的話請多嘗試幾次


一切順利的話會看到如下提示


image



在瀏覽器上輸入IP地址就可以訪問到您的Django應用了


訪問http://yourIP:6061可以看到phpMyadmin的登錄界面


image



輸入您的數(shù)據(jù)庫用戶名密碼即可登錄,登陸之后您會發(fā)現(xiàn)數(shù)據(jù)庫里面沒有數(shù)據(jù)表窒升,這是因為還沒有創(chuàng)建數(shù)據(jù)表

六缀遍、創(chuàng)建數(shù)據(jù)表

命令行中輸入以下命令


查看正在運行的docker容器


docker ps


進入主容器(運行django項目的容器)


docker exec -it NameOfYourContainer /bin/bash


建表


python manage.py makemigrations


python manage.py migrate


最后,開始愉快的編碼吧饱须!

以上教程若有任何錯誤請留言指出域醇,有疑惑歡迎聯(lián)系我

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蓉媳,隨后出現(xiàn)的幾起案子譬挚,更是在濱河造成了極大的恐慌,老刑警劉巖酪呻,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件减宣,死亡現(xiàn)場離奇詭異,居然都是意外死亡玩荠,警方通過查閱死者的電腦和手機漆腌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阶冈,“玉大人闷尿,你說我怎么就攤上這事∨樱” “怎么了填具?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長匆骗。 經(jīng)常有香客問我劳景,道長誉简,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任盟广,我火速辦了婚禮闷串,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衡蚂。我一直安慰自己窿克,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布毛甲。 她就那樣靜靜地躺著年叮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玻募。 梳的紋絲不亂的頭發(fā)上只损,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音七咧,去河邊找鬼跃惫。 笑死,一個胖子當著我的面吹牛艾栋,可吹牛的內(nèi)容都是我干的爆存。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蝗砾,長吁一口氣:“原來是場噩夢啊……” “哼先较!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悼粮,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤闲勺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扣猫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菜循,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年申尤,在試婚紗的時候發(fā)現(xiàn)自己被綠了癌幕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡瀑凝,死狀恐怖序芦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粤咪,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布渴杆,位于F島的核電站寥枝,受9級特大地震影響宪塔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜囊拜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一某筐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧冠跷,春花似錦南誊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至橄务,卻和暖如春幔托,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蜂挪。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工重挑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棠涮。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓谬哀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親严肪。 傳聞我的和親對象是個殘疾皇子史煎,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

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