replace '操作系統' as '作業系統'

pull/25/head
a504082002 2014-11-20 00:09:22 +08:00
parent 6b168bced1
commit 3741994aef
8 changed files with 10 additions and 10 deletions

View File

@ -1,7 +1,7 @@
## Docker 鏡像
Docker 鏡像就是一個只讀的模板。
例如:一個鏡像可以包含一個完整的 ubuntu 作系統環境,裏面僅安裝了 Apache 或用戶需要的其它應用程序。
例如:一個鏡像可以包含一個完整的 ubuntu 作系統環境,裏面僅安裝了 Apache 或用戶需要的其它應用程序。
鏡像可以用來創建 Docker 容器。

View File

@ -1,6 +1,6 @@
# Docker 容器
容器是 Docker 又一核心概念。
簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機可以理解為模擬運行的一整套作系統(提供了運行態環境和其他系統環境)和跑在上面的應用。
簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行態環境。對應的,虛擬機可以理解為模擬運行的一整套作系統(提供了運行態環境和其他系統環境)和跑在上面的應用。
本章將具體介紹如何來管理一個容器,包括創建、啟動和停止等。

View File

@ -25,7 +25,7 @@ $ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp py
上面的命令加載主機的 `/src/webapp` 目錄到容器的 `/opt/webapp`
目錄。這個功能在進行測試的時候十分方便,比如用戶可以放置一些程序到本地目錄中,來查看容器是否正常工作。本地目錄的路徑必須是絕對路徑,如果目錄不存在 Docker 會自動為你創建它。
*註意Dockerfile 中不支持這種用法,這是因為 Dockerfile 是為了移植和分享用的。然而,不同作系統的路徑格式不一樣,所以目前還不能支持。
*註意Dockerfile 中不支持這種用法,這是因為 Dockerfile 是為了移植和分享用的。然而,不同作系統的路徑格式不一樣,所以目前還不能支持。
Docker 掛載數據卷的默認權限是讀寫,用戶也可以通過 `:ro` 指定為只讀。
```

View File

@ -2,7 +2,7 @@
可以使用 `docker pull` 命令來從倉庫獲取所需要的鏡像。
下面的例子將從 Docker Hub 倉庫下載一個 Ubuntu 12.04 作系統的鏡像。
下面的例子將從 Docker Hub 倉庫下載一個 Ubuntu 12.04 作系統的鏡像。
```
$ sudo docker pull ubuntu:12.04
Pulling repository ubuntu

View File

@ -9,7 +9,7 @@ $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
```
如果使用作系統自帶包安裝 Docker目前安裝的版本是比較舊的 0.9.1。 要安裝更新的版本,可以通過使用 Docker 源的方式。
如果使用作系統自帶包安裝 Docker目前安裝的版本是比較舊的 0.9.1。 要安裝更新的版本,可以通過使用 Docker 源的方式。
### 通過Docker源安裝最新版本
要安裝最新的 Docker 版本,首先需要安裝 apt-transport-https 支持,之後通過添加源來安裝。

View File

@ -4,12 +4,12 @@ Docker 是一個開源項目,誕生於 2013 年初,最初是 dotCloud 公司
Docker 自開源後受到廣泛的關注和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5 中集中支持 DockerGoogle 也在其 PaaS 產品中廣泛應用。
Docker 項目的目標是實現輕量級的作系統虛擬化解決方案。
Docker 項目的目標是實現輕量級的作系統虛擬化解決方案。
Docker 的基礎是 Linux 容器LXC等技術。
在 LXC 的基礎上 Docker 進行了進一步的封裝,讓用戶不需要去關心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。
下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處,可見容器是在作系統層面上實現虛擬化,直接使用本地主機的作系統,而傳統方式則是在硬體層面實現。
下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處,可見容器是在作系統層面上實現虛擬化,直接使用本地主機的作系統,而傳統方式則是在硬體層面實現。
![傳統虛擬化](../_images/virtualization.png)

View File

@ -2,11 +2,11 @@
Docker 底層的核心技術包括 Linux 上的名字空間Namespaces、控制組Control groups、Union 文件系統Union file systems和容器格式Container format
我們知道,傳統的虛擬機通過在宿主主機中運行 hypervisor 來模擬一整套完整的硬件環境提供給虛擬機的作系統。虛擬機系統看到的環境是可限制的,也是彼此隔離的。
我們知道,傳統的虛擬機通過在宿主主機中運行 hypervisor 來模擬一整套完整的硬件環境提供給虛擬機的作系統。虛擬機系統看到的環境是可限制的,也是彼此隔離的。
這種直接的做法實現了對資源最完整的封裝,但很多時候往往意味著系統資源的浪費。
例如,以宿主機和虛擬機系統都為 Linux 系統為例,虛擬機中運行的應用其實可以利用宿主機系統中的運行環境。
我們知道,在作系統中包括內核、文件系統、網絡、PID、UID、IPC、內存、硬盤、CPU 等等,所有的資源都是應用進程直接共享的。
我們知道,在作系統中包括內核、文件系統、網絡、PID、UID、IPC、內存、硬盤、CPU 等等,所有的資源都是應用進程直接共享的。
要想實現虛擬化除了要實現對內存、CPU、網絡IO、硬盤IO、存儲空間等的限制外還要實現文件系統、網絡、PID、UID、IPC等等的相互隔離。
前者相對容易實現一些,後者則需要宿主機系統的深入支持。

View File

@ -1,5 +1,5 @@
## 名字空間
名字空間是 Linux 內核一個強大的特性。每個容器都有自己單獨的名字空間,運行在其中的應用都像是在獨立的作系統中運行一樣。名字空間保證了容器之間彼此互不影響。
名字空間是 Linux 內核一個強大的特性。每個容器都有自己單獨的名字空間,運行在其中的應用都像是在獨立的作系統中運行一樣。名字空間保證了容器之間彼此互不影響。
### pid 名字空間
不同用戶的進程就是通過 pid 名字空間隔離開的,且不同名字空間中可以有相同 pid。所有的 LXC 進程在 Docker 中的父進程為Docker進程每個 LXC 進程具有不同的名字空間。同時由於允許嵌套,因此可以很方便的實現嵌套的 Docker 容器。