足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

首頁 > 知識庫 > 正文

Docker 1.10.0 版本震撼發(fā)布
2016-02-11 16:45:10   來源: mengyidan1988   評論:0 點擊:

Docker 粉們,是否還記得上一個 Docker 大版本的發(fā)布是什么時候?你的記憶是否已經(jīng)模糊? 答案是: 10 月 14 號 在中國春節(jié)即將到來之際,Docker 官方發(fā)布了跨時代的 Docker 1 10 0 版本,著實為猴年的到來獻上了一份大禮。 如果說 Docker 1 9 0 的 overlay 網(wǎng)絡(luò)意味著 Docker 在集群能力方面的質(zhì)的飛躍,那么這次發(fā)布的 Docker 1 10
Docker 粉們,是否還記得上一個 Docker 大版本的發(fā)布是什么時候?你的記憶是否已經(jīng)模糊?

答案是: 10 月 14 號

在中國春節(jié)即將到來之際,Docker 官方發(fā)布了跨時代的 Docker 1.10.0 版本,著實為猴年的到來獻上了一份大禮。

如果說 Docker 1.9.0 的 overlay 網(wǎng)絡(luò)意味著 Docker 在集群能力方面的質(zhì)的飛躍,那么這次發(fā)布的 Docker 1.10.0 更是在多個方面實現(xiàn)重大突破。

總體而言,我認為這次新發(fā)布的 Docker 1.10.0 主要有以下這幾方面意義非凡的變化和看點:
1.Docker Engine 支持配置熱更新,容器與 Docker Daemon 的耦合性大大降低
2.Docker API 的完善程度穩(wěn)步上升,容器隔離維度更細致、更全面
3.Docker 安全劃時代地支持了 User Namespace 與 seccomp,安全程度直逼虛擬機
4.鏡像格式首推「內(nèi)容尋址方式」,可以做到 Docker 鏡像的全球唯一性,鏡像的安全與存儲都有大的改觀
5.網(wǎng)絡(luò)能力,無論單機,還是跨主機,功能逐漸完善,成熟度穩(wěn)步提升,發(fā)展之迅速不得不令人佩服
6.稍顯惋惜的是,傳統(tǒng)的容器管理工具 LXC 即將退出 Docker 的舞臺,伴隨 Docker 接近三年的時間,終于被更完善的容器管理方案取代,同時 Docker 的飛速發(fā)展以及追求卓越也一覽無余
看完 Docker 1.10.0 的主要變化,我們來看一下這一版本更為細節(jié)的變化,相信 Docker Engine、安全、Distribution、網(wǎng)絡(luò)、日志、存儲卷 Volume 等多方面,總有一款適合您。詳情請見下文:

1. Docker Engine(Runtime)
  • 開發(fā)了新命令docker update,允許用戶更新運行中容器的資源限制(對于資源的重分配意義很大,后期可以考慮集成)
  • 為docker run命令添加 flag 參數(shù)–tmpfs,用于為容器掛載一個內(nèi)存文件系統(tǒng),便于文件的快速讀寫
  • 為docker images命令添加 flag 參數(shù)–format
  • 允許用戶在文件中配置 Docker Daemon 的運行參數(shù),并通過 SIGHUP 信號對其進行熱加載,換言之,Docker 開始支持動態(tài)加載配置參數(shù)
  • 更新docker events命令的內(nèi)容輸出,使其包含更多的元數(shù)據(jù)以及事件類型;但是,需要注意的是,此改動完全兼容 Docker 的 API,但是在 Docker CLI 中仍未支持
  • 為docker run命令添加 flag 參數(shù)–blkio-weight-device
  • 為docker run命令添加 flag 參數(shù)–device-read-bps和–device-write-bps,用于磁盤 I/O 的讀寫 BPS
  • 為docker run命令添加 flag 參數(shù)–device-read-iops和–device-write-iops,用于磁盤 I/O 的 iops
  • 為docker run命令添加 flag 參數(shù)–oom-score-adj,用于容器進程發(fā)生 oom 現(xiàn)象時,如何選擇 kill 進程的評分依據(jù)
  • 為命令run、attach、start以及exec添加 flag 參數(shù)–detach-keys,以此來覆蓋從容器退出的的默認鍵盤鍵,比如使用 Docker 客戶端自定義的 ctrl+a 來作為這些命令的 ESC 鍵
  • 為docker run、docker create以及docker build命令添加–shm-size,用于動態(tài)內(nèi)存文件系統(tǒng)的大?。?dev/shm 等同于 tmpfs)
  • 豐富docker info命令的輸出內(nèi)容,為其添加運行容器的數(shù)目,停止容器的數(shù)目以及掛起容器的數(shù)目
  • 豐富docker info命令的輸出內(nèi)容,為其添加操作系統(tǒng)類型以及機器結(jié)構(gòu)
  • 為docker daemon命令添加 flag 參數(shù)–cgroup-parent,從而為所有容器設(shè)置父 cgroup,即掛載于制定的 cgroup 路徑下
  • 為docker cp命令添加 flag 參數(shù)-L,使得cp命令不是僅僅拷貝符號鏈接,而是拷貝符號鏈接真實指向的內(nèi)容
  • 新增過濾規(guī)則status=dead,使命令docker ps的輸出更符合用戶需求
  • 更改docker run命令的返回碼(exit code),從而區(qū)分在命令返回的原因究竟是 Docker Engine 的錯誤,還是容器內(nèi)部應用自身的錯誤
  • 擴展docker events命令中添加–since和–util參數(shù)后的內(nèi)容輸出,使其支持時區(qū)以及納秒
  • 為docker stats命令添加 flag 參數(shù)-a/–all,用于顯示運行中容器以及停止容器的資源使用
  • 將默認的 cgroup-driver 設(shè)置為cgroupfs
  • 當使用docker build -t命令為某一鏡像設(shè)置標簽時,Docker Daemon 觸發(fā)一個 tag 事件;換言之,Docker Daemon 新支持一種 tag 事件
  • 重新啟動 Docker Daemon 時,盡最大的努力來合理安排 link 容器的啟動順序
  • 允許docker build命令為鏡像設(shè)置多個標簽(tag)
  • 對任意 url 請求添加 OPTIONS 請求,而不是修改跨域存在的問題
  • 修復docker build命令的 flag 參數(shù)–quiet,使其真正意義上實現(xiàn) quiet,即不輸出構(gòu)建過程的內(nèi)容
  • 修復命令docker images –filter dangling=false,現(xiàn)在真正意義上顯示的是所有的 non-dangling 鏡像
  • 修復命令docker volumes ls –filter dangling=false,現(xiàn)在真正意義上顯示的是所有的 non-dangling 的存儲卷
  • 修復重啟容器時因為容器內(nèi)部進程長時間處理 SIGTERM 信號未果兒存在的資源競爭 BUG
  • Docker Daemon 中加入了 IBM 公司的的共享文件系統(tǒng) GPFS
  • 修復 Bug,使得 volume driver 不允許被容器化
  • 刪除容器過程中,不刪除有命名的掛載點
  • 修復阻止容器啟動的某些不知名 Bug
  • 禁止在重啟過程中對容器執(zhí)行docker exec操作
  • devicemapper 方面,當 Docker Daemon 重啟過程中–storage-opt dm.basesize參數(shù)的增長會導致基礎(chǔ)設(shè)備存儲空間的增長

2. 安全
  • 為 Docker Daemon 命令添加 flag 參數(shù)–userns-remap,用以支持 Linux Namespace 中的用戶命名空間(User Namespace),之前 Docker 對于用戶命名空間的支持僅僅存在于 Docker 試驗版
  • 在docker run命令的 flag 參數(shù)–security-opt中,添加對自定義 seccomp 文檔的支持,主要用戶對容器應用在系統(tǒng)調(diào)用方面實現(xiàn)沙箱化
  • 為 Docker 添加默認的 seccomp 文檔,在容器的系統(tǒng)調(diào)用方案實現(xiàn)更為細粒度的隔離
  • 為docker daemon命令添加 flag 參數(shù)–authorization-plugin,用以支持自定義的訪問控制列表(ACL)
  • 當用戶使用 BTRFS 時,允許用戶在容器中運行 SELinux

3. Distribution
  • 為 AuthConfig 數(shù)據(jù)結(jié)構(gòu)添加一個名為registryToken的屬性。該 Token 屬性允許 API 客戶端從一個鏡像倉庫中獲取用戶的認證 token,然后將 token 直接發(fā)給遠程 API
  • 對鏡像和鏡像層實現(xiàn)內(nèi)容尋址的存儲方式。內(nèi)容尋址指的是,通過鏡像層的內(nèi)容來唯一的決定一個鏡像的 ID,從而保證鏡像的全局唯一性。需要注意的是:當 Docker 第一次運行的時候,會有一個對原有鏡像進行格式轉(zhuǎn)換的過程。此過程很可能會占用很長時間,主要取決于當前 Docker Daemon 所管理鏡像以及容器的數(shù)目大小。從此,鏡像中不再有parent image的概念,而是指向一系列的鏡像層引用。同時docker load/docker save的壓縮包現(xiàn)在會包含內(nèi)容尋址鏡像的配置文件
  • 支持新的 menifest 格式(schema2)
  • 對鏡像下載和鏡像上傳做了眾多改善,比如:性能的提高,下載失敗時的重試機制,客戶端失聯(lián)的取消操作等
  • 對鏡像倉庫 v1 協(xié)議的回調(diào)限制
  • 新版的 Notary 支持,其中包含了客戶端的 pkcs11。P.S. notary 是 Docker 一款官方推出的在客戶端和服務端通過受信集合來交互的工具
  • 修復 Bug,此 Bug 在先前的版本中出現(xiàn)時會導致 Docker Daemon 因為等待一個并不存在的進程去下拉鏡像而僵死

4. 網(wǎng)絡(luò)
  • 對于容器而言,使用基于 DNS 的發(fā)現(xiàn)機制,取代原先的 /etc/hosts 方式
  • 對docker network connect命令中添加網(wǎng)絡(luò)方面的別名,如–net-alias,以及docker run命令時的–alias
  • 為docker run以及docker network connect命令添加參數(shù)–ip和–ip6,用以在一個網(wǎng)絡(luò)中為容器自定義 IP
  • 為docker network create命令添加參數(shù)–ipam-opt,用于傳入自動的 IP 地址管理(IPAM)的選項
  • 在–cluster-store-opt參數(shù)中添加kv.path
  • 在–cluster-store-opt參數(shù)中添加discovery.heartbeat和discovery.ttl參數(shù),用于配置服務發(fā)現(xiàn)的 TTL 以及心跳周期
  • 為docker network inspect命令添加–format參數(shù)
  • 為docker network connect命令添加–link參數(shù),用以提供容器級別的別名
  • 通過遠程 IP 地址管理器(IPAM)插件的形式
  • 為docker network disconnect命令添加–force參數(shù),用以強制容器從某個 network 中斷開連接
  • 在 Linux 內(nèi)核版本 3.10+ 上,使用內(nèi)嵌的 overlay 驅(qū)動來完成跨主機的網(wǎng)絡(luò)互聯(lián)
  • 在用戶定義的 network 中,支持在docker run命令中使用–link參數(shù)
  • 擴展docker network rm命令,使其有能力一次刪除多個 network
  • 在docker inspect命令的輸出內(nèi)容中添加所有容器的名稱
  • 在docker network inspect命令中,加入為用戶自定義網(wǎng)絡(luò)自動生成的子網(wǎng)地址
  • 為docker network ls命令添加 flag 參數(shù)–filter,用以隱藏預先定義的 networks
  • 支持已停止容器的 network 連接/斷開功能

在docker inspect命令的返回結(jié)果中添加 network id
  • 修復 MTU 的 bug,之前版本 Docker 在有兩條或者兩條以上路由記錄時啟動就會失效
  • 為容器修復重復 IP 地址的 bug
  • 修復了有時 Docker Daemon 在創(chuàng)建默認網(wǎng)絡(luò)時存在的 bug
  • 在使用–net=host參數(shù)時,不為容器替換 127.0.0.1 的域名服務器地址

5. 日志

  • 新增日志驅(qū)動 Splunk
  • 在 TCP+TLS 的基礎(chǔ)上,完善對 Syslog 的支持
  • 擴展docker logs –since和–until命令,用以支持納秒
  • 擴展日志驅(qū)動awslogs,使其當 Docker Daemon 在 AWS EC2 上運行時,可以自動監(jiān)測正確的 Amazon CloudWatch 的日志時區(qū)

6. 存儲卷 Volumes
  • 為 Docker 的存儲卷添加設(shè)置 mount propagation mode 的支持
  • 為存儲卷插件的 API 添加ls和inspect接口
  • 修復了不能從命名存儲卷中拷貝數(shù)據(jù)的 bug
  • 允許外部存儲卷驅(qū)動管理異步存儲卷

7. 鏡像構(gòu)建器(builder)
  • 在.dockerignore文件中添加對**的支持,實現(xiàn)通配多級目錄
  • 修復 Dockerfile 中對 UTF-8 編碼字符的處理
  • 修復從標準輸入讀取內(nèi)容時的權(quán)限問題

8. 客戶端
  • 通過使用DOCKER_API_VERSION環(huán)境變量來支持API版本覆蓋的支持

9. MISC
  • systemd:在systemd服務的配置文件中,為LimitNPROC添加TaskMax參數(shù)

10. 遺棄
  • 從 Docker Daemon 移除對 LXC 的支持,在 docker 1.8 版本時,Docker 用來管理容器的驅(qū)動之一——LXC 驅(qū)動就已經(jīng)被標記為 deprecated,現(xiàn)在此驅(qū)動已經(jīng)被移除
  • 在docker daemon命令中移除 flag 參數(shù)–exec-driver,因為此驅(qū)動已經(jīng)不再會被使用
  • 移除部分 Docker CLI 方面的參數(shù),比如(-rm,選擇用–rm來替代)
  • 在容器啟動的 API 中遺棄數(shù)據(jù)結(jié)構(gòu) HostConfig
  • 由于某些特定 Linux 版本發(fā)行版項目的終止,從而遺棄這些項目下 docker 軟件包的支持;比如 Fedora 21 和 Ubuntu 15.04(vivid)
  • 遺棄docker tag命令的-f參數(shù)

備注:本文來自DaoCloud供稿,獨家授權(quán)發(fā)布,作者孫宏亮,DaoCloud技術(shù)合伙人,主要負責DaoCloud企業(yè)級容器云平臺的研發(fā)。目前已出版《Docker 源碼分析》一書,也是國內(nèi)第一批研究及實踐Docker的工程師,同時也是國內(nèi)社區(qū)極具影響力的Docker布道者。

相關(guān)熱詞搜索:云計算 Docker internet 互聯(lián)網(wǎng)

上一篇:2016年大數(shù)據(jù)在金融領(lǐng)域的10大趨勢
下一篇:TIOBE 2016年2月編程語言排行榜 Java發(fā)展受阻

分享到: 收藏