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