基于docker部署個人博客網(wǎng)站

前兩天學(xué)習(xí)django框架的時候,練手寫了一個個人博客網(wǎng)站官辈,不過博文還沒有遷移,網(wǎng)站也沒有上線遍坟,只是局域網(wǎng)測試了一下拳亿。網(wǎng)站參考Django搭建簡易博客教程 ,講的非常好愿伴。

測試完畢后決定用docker進(jìn)行部署肺魁,首先是想,啟一個docker隔节,然后所有的東西(包括mysql鹅经,Python,ssh怎诫,django瘾晃,代碼等)都在一個容器里做完了,然后commit成鏡像幻妓。因?yàn)閷?shí)驗(yàn)室的服務(wù)器里openstack集成docker是通過nova-docker實(shí)現(xiàn)的蹦误。nova-docker的功能比較雞肋,無法實(shí)現(xiàn)多個容器互聯(lián),提供的服務(wù)職能放到一個容器里强胰,這樣就違背了docker的初衷舱沧,一個容器只運(yùn)行一個程序。后來學(xué)習(xí)了下docker-compose偶洋,它是個超級方便的docker編排工具熟吏,具體請谷歌。

1.項(xiàng)目目錄涡真,新建/root/docker-tes/my_blog,然后在my_blog下新建 my_blog目錄用來放項(xiàng)目代碼分俯,新建db目錄存放數(shù)據(jù)庫數(shù)據(jù)。 ????????????????????????????????????????????????????????????????????

整體目錄如上哆料。

2.在/root/docker-test/my_blog/下缸剪,新建Dockerfile文件,用戶構(gòu)建web鏡像东亦。

注:lijianfeng/python 是我自己之前做的Python鏡像杏节,就是個普通的Ubuntu鏡像,里面裝了Python典阵,跟新過源奋渔,還有下載過常用的一些東西。

ENV 為環(huán)境變量壮啊,關(guān)于Dockerfile的編寫嫉鲸,自行谷歌。

3.新建docker-compose.yml文件

db中:

?? enviroment里面為數(shù)據(jù)庫名字歹啼,和root密碼玄渗,volumes連接了數(shù)據(jù)卷,將當(dāng)前目錄下的文件連接到容器中狸眼。

? expose表示暴露端口3306藤树,但不發(fā)布到宿主機(jī)上

web中:

?? build指定建立Dockerfile的路徑,我這里為當(dāng)前目錄拓萌。

?? command將覆蓋默認(rèn)的命令岁钓。

?? ports指定想主機(jī)開放的端口

?? links指向其他容器中的服務(wù),這里指向MySQL數(shù)據(jù)庫容器微王。


4.在子目錄my_blog中新建requirements.txt,內(nèi)容為:

? django

? MySQL-python

? markdown


5.在/root/docker-test/my_blog/下構(gòu)建鏡像

docker-compose build

?我的本地倉庫中屡限,沒有MySQL鏡像,所以回去docker hub中pull炕倘,時間比較長钧大,鏡像構(gòu)建完后,可以啟動django項(xiàng)目和app激才。

6.在/root/docker-test/my_blog/下新建django工程

docker-compose run web django-admin.py startproject my_blog ./my_blog

此時,在/root/docker-test/my_blog/my_blog下會出想manage.py和my_blog文件夾。

因?yàn)樵阽R像內(nèi)是以root權(quán)限創(chuàng)建的瘸恼,所以宿主機(jī)中對工程文件無法進(jìn)行更改劣挫,這里修改一下權(quán)限

sudo chmod -R 777 my_blog/

同時在/root/docker-test/my_blog/my_blog新建article的文件夾用在存放article的app,因?yàn)椴粫詣觿?chuàng)建article文件夾东帅。

在/root/docker-test/my_blog/下新建django APP

docker-compose run wen python /code/my_blog/manage.py startapp article ./my_blog/article/

另外需要在/root/docker-test/my_blog/my_blog/下新建templates文件夾压固,用來存放html等模板文件。

注:需要修改settings.py 文件的地方:
? 在INSTALLED_APPS中靠闭,加入article帐我,因?yàn)橹笏⑿聰?shù)據(jù)庫時會要求。

? 練習(xí)代碼的時候可以將MIDDLEWARE_CLASSES中的 'django.middleware.csrf.CsrfViewMiddleware'注釋愧膀,因?yàn)榭缯菊埱髠卧鞎Υa調(diào)試造成影響

? TEMPLATES 中拦键,'DIRS': [os.path.join(BASE_DIR,'templates')],用以識別templates中HTML

? DATABASES中這樣寫,以連接數(shù)據(jù)庫容器

項(xiàng)目目錄為:


7.這時便可以在該項(xiàng)目中開發(fā)博客了檩淋,修改models.py后刷新數(shù)據(jù)庫操作

docker-compose run web python /code/my_blog/manage.py makemigrations

docker-compose run web python /code/my_blog/manege.py migrate

8.開發(fā)過程中芬为,可以docker-compose up命令,嘗試啟動容器蟀悦,查看報錯信息媚朦,進(jìn)行調(diào)試。最后可以通過瀏覽器訪問博客網(wǎng)站了日戈。博客主要安裝上面教程寫的询张,所以代碼就不開源了。

9.通過docker images 查看鏡像浙炼,出現(xiàn)myblog_web的鏡像份氧,docker-compose up后還會看到啟動兩個容器,myblog_web_1鼓拧,myblog_db_1半火。

10.打包鏡像

docker save -o docker_my_blog_image.tar.gz myblog_web

這是整體目錄如第一張圖所示,接下來將整個/root/docker-test/my_blog打包季俩。便可以把鏡像钮糖,連同代碼及數(shù)據(jù)庫拿到別的機(jī)器上運(yùn)行。

11.在另一臺裝有docker 和docker-compose的Ubuntu中酌住,

docker load -i docker_my_blog_image.tar.gz

將鏡像load到本地倉庫中店归,然后在文件夾中,刪除或者移走docker_my_blog_image.tar.gz酪我,否則會進(jìn)入新的本地鏡像中消痛,大大增大鏡像的大小,原因在Dockerfile中最后一行都哭,可以嘗試去掉最后一行秩伞,我沒試過逞带。

接著在新機(jī)器的my_blog目錄中

docker-compose up

這是新的web服務(wù)就起來了,可以通過瀏覽器訪問纱新。

參考鏈接:docker-compose 部署django展氓,mysql?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脸爱,隨后出現(xiàn)的幾起案子遇汞,更是在濱河造成了極大的恐慌,老刑警劉巖簿废,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件空入,死亡現(xiàn)場離奇詭異,居然都是意外死亡族檬,警方通過查閱死者的電腦和手機(jī)歪赢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來导梆,“玉大人轨淌,你說我怎么就攤上這事】茨幔” “怎么了递鹉?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長藏斩。 經(jīng)常有香客問我躏结,道長,這世上最難降的妖魔是什么狰域? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任媳拴,我火速辦了婚禮,結(jié)果婚禮上兆览,老公的妹妹穿的比我還像新娘屈溉。我一直安慰自己,他們只是感情好抬探,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布子巾。 她就那樣靜靜地躺著,像睡著了一般小压。 火紅的嫁衣襯著肌膚如雪线梗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天怠益,我揣著相機(jī)與錄音仪搔,去河邊找鬼。 笑死蜻牢,一個胖子當(dāng)著我的面吹牛烤咧,可吹牛的內(nèi)容都是我干的偏陪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼煮嫌,長吁一口氣:“原來是場噩夢啊……” “哼竹挡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起立膛,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梯码,沒想到半個月后宝泵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轩娶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年儿奶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳄抒。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡闯捎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出许溅,到底是詐尸還是另有隱情瓤鼻,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布贤重,位于F島的核電站茬祷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏并蝗。R本人自食惡果不足惜祭犯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滚停。 院中可真熱鬧沃粗,春花似錦、人聲如沸键畴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镰吵。三九已至檩禾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疤祭,已是汗流浹背盼产。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勺馆,地道東北人戏售。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓侨核,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灌灾。 傳聞我的和親對象是個殘疾皇子搓译,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

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