圖片來源: 

Docker

輕量級虛擬化技術Docker日前正式釋出1.5新版本,主要新功能包括了支援IPv6、唯讀的軟體容器(Read-Only Containers)、查看資源使用率統計、並可指定Dockerfile的檔名,也開放了Container映像檔的規格等。

開源輕量級虛擬化技術Docker於2014年6月正式釋出1.0版後,也逐步發展至今,而自Docker釋出後,也有一些大廠商,如IBM、Amazon、VMware、微軟和紅帽等紛紛投向Docker的懷抱,這些廠商應用Docker來打包和部署虛擬化應用程式。

在Docker 1.5中,突破了過往在網路方面的限制,就是新版Docker支援最新版IPv6網路位址通訊協定,過去Docker預設的網路位址通訊協定是IPv4,但是IPv4使用的是32位元的位址,比起IPv6的128位元小了很多。

Docker支援IPv6後,使用者可以使用「--ipv6」旗標(Flag),來分配IPv6位址到每一個容器。Docker在官方部落格表示,容器還可以透過這項功能在跨多主機間溝通。

Docker伺服器預設容器網路為IPv4,不過,使用者可以使用「--ipv6」旗標執行在背景執行(Daemon)的Docker伺服器,就可以支援IPv4和IPv6雙軌制。而在網路的雙軌設定下,Docker容器就可以使用支援IPv4和IPv6的網路。(想了解更多Docker 1.5支援IPv6的細節請點我

Docker官方部落格也提供使用者一段簡單的程式碼,來嘗試這項新功能:

# run the nginx container

$ docker run -d -p 80:80 --restart always --name ipv6-nginx nginx

# exec into it to change the default config to support ipv6

$ docker exec -it ipv6-nginx bash

# edit the /etc/nginx/conf.d/default.conf

# under listen 80;

# add the following line:

# listen [::]:80

# restart the nginx service

# this will also pop you out of the container

# and back to your host

root@container # service nginx restart

# get the global ipv6 address

$ docker inspect --format="{{.NetworkSettings.GlobalIPv6Address}}" ipv6-nginx

2a00:1450::242:ac11:5e

$ curl -6 -g [2a00:1450::242:ac11:5e]

 

在新版Docker中還有一項令人驚豔的新功能,Docker 1.5提供「--read-only」唯讀旗標,使用者可以使用該旗標在容器中設定根檔案系統(Root Filesystem)為唯讀(Read Only),也就是無法在容器的根檔案系統中寫入資料,而唯讀功能也允許使用者限制應用程式在可寫入檔案的容器中的位置。

另外,使用者也可以結合唯讀功能和Volumes參數,指定資料或檔案寫入容器中的某個位置,而這項功能在很多情況下很實用,舉例來說,管理者可以控制開發者寫入檔案的位置,以及將錯誤訊息存放在其他位置。

此外,IT管理者通常都希望也需要將應用程式工作負載視覺化,作為調校系統運作和優化的參考,但前提是得先取得系統狀態資訊,才能進一步視覺化。在Docker 1.5提供了新的Container狀態資訊的統計API和命令列功能,將可以即時串流顯示容器的CPU、記憶體、網路I/O和區塊I/O等使用狀況。第三方系統監控工具,也可利用此API來建立資訊儀表板。

Docker 1.5提供使用者可以使用新的統計API Endpoint和CLI命令行介面,來建立可以即時串流顯示容器的CPU、記憶體、網路I/O和區塊I/O等使用狀況的工具。

在Docker 1.5中還有幾個新功能,例如可以用來指定Dockerfile的檔名,舊版Docker建立容器時,預設會讀取Dockerfile為名的檔案來建立Container,新版則可事先建立多個Dockerfile的檔名,使用者可以使用「docker build -f」就可以在單一專案中定義多種Dockerfile的檔名,並且在特定的時候使用,這項新功能將有助於使用者在測試環境和正式環境中分開使用不同的Dockerfile。另外,Docker 1.5也開放了Docker映像檔的規格和設定,讓更多開發者可以參與映像檔規格的制訂,不再只是由Docker公司自行決定。(第一版Docker映像檔規格可以點我找到

熱門新聞

Advertisement