《Docker —— 從入門到實踐­》正體中文版
  • 前言
  • Docker 簡介
    • 什麼是 Docker
    • 為什麼要用 Docker
  • 基本概念
    • 映像檔
    • 容器
    • 倉庫
  • 安裝
    • Ubuntu
    • CentOS
  • 映像檔
    • 取得映像檔
    • 列出
    • 建立
    • 儲存和載入
    • 移除
    • 實作原理
  • 容器
    • 啟動
    • 常駐執行
    • 終止
    • 進入容器
    • 匯出與匯入
    • 刪除
  • 倉庫
    • Docker Hub
    • 私有倉庫
    • 設定檔案
  • 資料管理
    • 資料卷
    • 資料卷容器
    • 備份、恢復、遷移資料卷
  • 使用網路
    • 外部存取容器
    • 容器互連
  • 進階網路設定
    • 快速設定指南
    • 設定 DNS
    • 容器存取控制
    • 埠號映射實作
    • 設定 docker0 橋接器
    • 自訂橋接器
    • 工具與範例
    • 編輯網路設定檔案
    • 實例:創造一個點對點連線
  • 實戰案例
    • 使用 Supervisor 來管理程式
    • 建立 tomcat/weblogic 集群
    • 多台實體主機之間的容器互連
    • 標準化開發測試和生產環境
  • 安全
    • 核心命名空間
    • 控制組
    • 伺服端防護
    • 核心能力機制
    • 其他安全特性
    • 總結
  • Dockerfile
    • 基本結構
    • 指令
    • 建立映像檔
    • 從映像檔產生 Dockerfile
  • 底層實作
    • 基本架構
    • 命名空間
    • 控制組
    • Union 檔案系統
    • 容器格式
    • 網路
  • 附錄一:命令查詢
  • 附錄二:常見倉庫介紹
    • Ubuntu
    • CentOS
    • MySQL
    • MongoDB
    • Redis
    • Nginx
    • WordPress
    • Node.js
  • 附錄三:資源連結
Powered by GitBook
On this page

Was this helpful?

  1. 安全

核心命名空間

Previous安全Next控制組

Last updated 1 year ago

Was this helpful?

Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。當用 docker run 啟動一個容器時,在後臺 Docker 為容器建立了一個獨立的命名空間和控制組集合。

命名空間提供了最基礎也是最直接的隔離,在容器中執行的程式不會被執行在主機上的程式和其它容器發現和作用。

每個容器都有自己獨有的網路堆疊,意味著它們不能存取其他容器的 sockets 或介面。不過,如果主機系統上做了相應的設定,容器可以像跟主機互動一樣的和其他容器互動。當指定公共連接埠或使用 links 來連線 2 個容器時,容器就可以相互通訊了(可以根據設定來限制通訊的策略)。

從網路架構的角度來看,所有的容器透過本地主機的橋接器介面相互通訊,就像物理機器透過物理交換機通訊一樣。

那麽,核心中實作命名空間和私有網路的代碼是否足夠成熟?

核心命名空間從 2.6.15 版本(2008 年 7 月發布)之後被引入,數年間,這些機制的可靠性在諸多大型生產系統中被實踐驗證。

實際上,命名空間的想法和設計提出的時間要更早,最初是為了在核心中引入一種機制來實作 的特性。 而 OpenVZ 專案早在 2005 年就發布了,其設計和實作都已經十分成熟。

OpenVZ