1. 程式人生 > >Docker:Docker 性質及版本選擇 [三]

Docker:Docker 性質及版本選擇 [三]

inter 8.0 屬於 service sum 支持 測試 faq int

一、Docker的性質

  Docker的組成其實很簡單。你需要搭建registry,專屬於你自己的私有倉庫,然後就是docker的鏡像和docker的容器。Docker的鏡像,就類似與windos的系統盤,你只有有了它,你才能夠跑起來容器
  
  Docker的容器,很多人下載一個鏡像,然後跑起來一個容器,就想進容器裏看一看究竟。各位看官,很明確的告訴你們,你這個想法本身就是錯誤的。你跑起來一個容器,容器的進程是直接運行在宿主機內核上的,和你在宿主機上跑一個進程是一樣樣的,只是容器的userland不同,容器的userland由容器的鏡像提供
  
  假設宿主機是centos的系統,但是你起了一個ubuntu

的容器。ubuntu容器內部的進程調用的是centos的內核,而不會去調用ubuntu。而這點就和虛擬機有了本質的區別,虛擬機是虛擬環境,在現有的系統上去虛擬一個物理設備,再去虛擬一個內核,進程是跑在虛擬機的系統上的,虛擬機的進程和你宿主機是沒有任何聯系的。
  
  所以你也可以這樣理解,docker容器,其實就是一個進程,既然他只是一個進程,不是操作系統,那麽你為什麽要不斷的去進入容器?
docker不是虛擬機,不是!!!

二、Docker的安裝

  然後,不得不吐槽一下我家胖胖,不要再去誤人子弟了。
Docker版本現在1.12的不錯,因為這個版本融合了docker swarm。完美的融合,自身支持負載均衡,並且可以說做到了高可用。
系統要求:

Ubuntu 14.04、16.04
Debian 7.7、8.0
CentOS 7.X
Fedora 20、21、22
OracleLinux 6、7

下載的方式

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

如果你覺得你足夠NB,那麽
## 測試版

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/test/internet | sh
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/test/intranet | sh

## 實驗版

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/experimental/internet | sh
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/experimental/intranet | sh

註意

1、因為測試版、實驗版的版本號格式不統一,所以通過制定版本的方式安裝可能存在問題。

Ubuntu的測試版、實驗版的版本號格式示例: 1.12.0~rc1、1.12.0~rc2
CentOS的測試版、實驗版的版本號格式示例: 1.11.0、1.12.0

2、CentOS系統上會為正式版測試版實驗版分別添加數據源描述文件。如果你從正式版想要切換到測試版、實驗版的話,請刪除數據源描述文件。
描述文件分別為 /etc/yum.repos.d/docker-main.repo、/etc/yum.repos.d/docker-test.repo、/etc/yum.repos.d/docker-experimental.repo

3、FAQ
幫助文件地址
http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/help

yum update、apt-get update時,報出 404 Not Found 的錯誤,源站路徑更新導致鏡像源的路徑不正確,解決辦法:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/resume | sh -

三、Docker 配置文件

  每個軟件都是有配置文件的,docker也有,但是在不同的系統上,它的配置文件位置會有一點點小區別。最近兩年處於Upstart/SysinitVsystemd 的過渡期,所以配置服務的方式對於不同的系統是不一樣的,要看自己使用的是什麽操作系統,以及什麽版本。

  對於 Upstart 的系統(Ubuntu 14.10或以前的版本,Debian 7或以前的版本),配置文件可能在

Ubuntu/Debian: /etc/default/docker
CentOS/RHEL: /etc/sysconfig/docker

  而對於 systemd的系統(Ubuntu 15.04及以後的版本,Debian 8及以後的版本,CentOS/RHEL 7),配置文件則一般在 /etc/systemd/system/下的 docker.service 中,如:

/etc/systemd/system/multi-user.target.wants/docker.service

  具體位置,不同的系統位置不同,而且配置文件的格式也不同。(我用的是Centos7+的系統)

Docker:Docker 性質及版本選擇 [三]