鍍金池/ 問答/Linux/ 使用Docker部署應(yīng)用,需要安裝的軟件要如何分配呢?

使用Docker部署應(yīng)用,需要安裝的軟件要如何分配呢?

以前每次有新服務(wù)器,都要把軟件重新裝一遍,后來我發(fā)現(xiàn)了docker,感覺很不錯(cuò)。于是看了一些教程,懂一些基本概念了,也試著基于debian的鏡像來制作自己的容器,我把各種軟件都裝里面,然后提交,容量都到4GB了,開始我還覺得沒什么,后來覺得不對(duì)勁,原來這種是錯(cuò)誤的用法(好像很多博客都是教你提交的方式),要用Dockerfile來制作鏡像。

問題:
我看有人說把各個(gè)軟件分開,放在容器里面,假設(shè)我的項(xiàng)目是python寫的,用到nginx,mongodb,Redis等,是不是應(yīng)該一個(gè)容器運(yùn)行一個(gè)軟件,通過端口去操作它?
我想知道在實(shí)際的項(xiàng)目中,如果決定用docker,怎么合理的去使用它?
如果一個(gè)軟件跑在一個(gè)容器里面,是不是都用Dockerfile來制作,軟件需要升級(jí)了,再提交它,這樣也可以退回來,然后配置文件等也是修改了容器去提交它,這是我目前能想到的Dockerfile 和 commit的區(qū)別和用法了。

回答
編輯回答
失魂人

其實(shí)可以每個(gè)軟件用一個(gè)容器運(yùn)行的, 然后用 link 的方式鏈接起來使用, 都打包放一起我個(gè)人感覺不好, "不可插拔" 打包的方式就跟使用一大個(gè)虛擬系統(tǒng)沒有區(qū)別了, 而且也并不好維護(hù)

就比如我在學(xué)習(xí)的時(shí)候做的是 nginx 是一個(gè)容器, 然后可以啟用, mysql 又是一個(gè)容器, 啟動(dòng)和停止都可以單獨(dú)操作, 這樣每個(gè)的配置文件也可以分別放在相應(yīng)宿主機(jī)的文件夾位置做映射, 配置都可以在不啟動(dòng) docker 的時(shí)候進(jìn)行, 確實(shí)很多教程都是打包的方式,我也不知道為什么

2018年5月3日 05:50