對于生信人員來說著瓶,最頭疼的應(yīng)該算是更換計(jì)算資源了,這就意味著你之前流程的所有軟件環(huán)境都需要在新的服務(wù)器上重新部署一次啼县,真是費(fèi)時又費(fèi)勁材原。而docker的出現(xiàn)則很好幫我們解決了這個問題。
docker簡介
1.1 什么是docker
docker 可譯為搬運(yùn)工谭羔,相當(dāng)于一個可隨時遷移的虛擬機(jī)华糖,如果把軟件和程序想象為家具,計(jì)算節(jié)點(diǎn)想象為旅游景點(diǎn)瘟裸,那么docker就是一臺房車客叉,在任何節(jié)點(diǎn)都可以實(shí)現(xiàn)基礎(chǔ)的功能。相當(dāng)于“一次搭建,到處運(yùn)行(Build, Ship and Run)”兼搏。
1.2 docker 核心概念
docker中最核心的概念主要是“鏡像”卵慰,“容器”,“倉庫”佛呻,“數(shù)據(jù)卷”
鏡像 (images)和容器(Container)
鏡像該如何理解呢裳朋?我們可以理解為一種特殊的文件系統(tǒng),一種靜態(tài)的模板吓著,這個模板涵蓋你需要的程序鲤嫡、庫、資源绑莺、配置等文件暖眼,但不包含任何的動態(tài)數(shù)據(jù)。而容器(Container)則相當(dāng)于是鏡像的創(chuàng)建出來的實(shí)例化對象纺裁。拿生活舉例诫肠,鏡像好比一個沙發(fā),床欺缘,冰箱等配置齊全的房車栋豫,容器就是一個具體的使用場景,比如說什么人(動態(tài)數(shù)據(jù))在什么地方(哪個計(jì)算節(jié)點(diǎn))使用出了什么效果(輸出結(jié)果)谚殊。
倉庫(Repository)
倉庫這是存放鏡像的地方丧鸯,這樣的倉庫稱之為dockerhub(https://hub.docker.com/),如果有些鏡像你懶的搭建嫩絮,就可以從安全可靠的官方倉庫中尋找骡送,如果能找到就可以pull下來直接使用。
數(shù)據(jù)卷(volumn)
我們的容器相當(dāng)于一個簡易的一次性部署在原有操作系統(tǒng)的迷你操作系統(tǒng)絮记,系統(tǒng)中只是安裝了我們程序運(yùn)行的環(huán)境,我們可以把原有操作系統(tǒng)看成一個畫布虐先,容器是一塊貼紙怨愤,我們會將貼紙里面的坐標(biāo)映射到畫布的坐標(biāo),這樣的好處在于蛹批,我們相當(dāng)于給這個一次性的操作系統(tǒng)掛載了一塊硬盤撰洗,一旦程序運(yùn)行完,容器銷毀腐芍,結(jié)果數(shù)據(jù)可以很好的保留在“掛載的硬盤”上差导。