【Docker】Docker1.3改動(dòng)簡(jiǎn)介
一段時(shí)間沒(méi)有關(guān)注Docker,突然發(fā)現(xiàn)它的1.3版本已經(jīng)在10月28日發(fā)布了,而且我認(rèn)為改動(dòng)內(nèi)容非常有價(jià)值。
Docker1.2版本的改動(dòng),感覺(jué)比較有用的有兩點(diǎn):一是將restart的功能由daemon命令中移動(dòng)到了client的docker run命令中,還可以設(shè)置重新啟動(dòng)時(shí)不會(huì)啟動(dòng)已經(jīng)掛掉的container,二是支持在運(yùn)行時(shí)對(duì)host文件進(jìn)行修改。其他的改動(dòng)由于了解的不是很多,不妄作評(píng)論,但整體改動(dòng)感覺(jué)不痛不癢。
而剛看到Docker1.3版本的改動(dòng),就讓我眼前一亮。
首先是docker exec命令,這個(gè)命令可以幫助我們很好地解決在運(yùn)行時(shí)對(duì)container進(jìn)行控制的問(wèn)題,它可以在一個(gè)正在運(yùn)行的container中執(zhí)行新的命令。而在1.2版本以前,我們要實(shí)現(xiàn)這樣的功能,只能通過(guò)ssh或者nsenter來(lái)實(shí)現(xiàn),但兩種方法都需要安裝相應(yīng)的程序,而且ssh方法還需要將container內(nèi)的22端口給映射出來(lái),這樣我們會(huì)對(duì)原有的image做一定的修改,無(wú)法保證一個(gè)純凈的image。但docker exec命令,可以讓我們?cè)谡谶\(yùn)行的container中以detach或者interactive的方式來(lái)執(zhí)行新的命令,不需要對(duì)原有純凈的image做任何修改。
然后是docker create命令,原有的docker run命令用來(lái)創(chuàng)建一個(gè)container并創(chuàng)建一個(gè)線程來(lái)執(zhí)行它,而docker create命令只是單純地創(chuàng)建一個(gè)container,并不執(zhí)行,如果我們需要啟動(dòng)這個(gè)container的話,用docekr start命令即可。這樣我們可以我們可以預(yù)先準(zhǔn)備好多個(gè)container,配置好相應(yīng)的掛載存儲(chǔ)和端口映射,并在需要的時(shí)候才啟動(dòng)這些container,而在1.2版本以前,我們只能傻傻地用docker run命令啟動(dòng)一個(gè)container,然后用docker stop命令來(lái)停止它,這樣做顯然很麻煩。其實(shí)這種啟動(dòng)方式,早在python版本的客戶端API(docekr-py)中采用,這里只是把它拿到docker的client里面使用而已。
***還有一些安全性方面的改動(dòng),這里不再多說(shuō)。
原文出自:http://blog.csdn.net/sunset108/article/details/40678279