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