Docker的組成其實很簡單。你須要搭建registry
,專屬於你本身的私有倉庫
,而後就是docker
的鏡像和docker的容器。Docker的鏡像,就相似與windos的系統盤
,你只有有了它,你纔可以跑起來容器
。
Docker的容器,不少人下載一個鏡像,而後跑起來一個容器,就想進容器裏看一看究竟。各位看官,很明確的告訴大家,你這個想法自己就是錯誤的。你跑起來一個容器,容器的進程是直接運行在宿主機內核上的,和你在宿主機上跑一個進程是同樣樣的,只是容器的userland
不一樣,容器的userland
由容器的鏡像提供
假設宿主機是centos
的系統,可是你起了一個ubuntu
的容器。ubuntu容器內部的進程調用
的是centos的內核,而不會去調用ubuntu
。而這點就和虛擬機有了本質的區別,虛擬機是虛擬環境
,在現有的系統上去虛擬一個物理設備
,再去虛擬一個內核,進程是跑在虛擬機的系統上的,虛擬機的進程和你宿主機是沒有任何聯繫的。
因此你也能夠這樣理解,docker容器,其實就是一個進程
,既然他只是一個進程,不是操做系統
,那麼你爲何要不斷的去進入容器?
docker不是虛擬機,不是!!! php
而後,不得不吐槽一下我家胖胖,不要再去誤人子弟了。
Docker版本如今1.12
的不錯,由於這個版本融合了docker swarm
。完美的融合,自身支持負載均衡,而且能夠說作到了高可用。
系統要求:docker
Ubuntu 14.0四、16.04 Debian 7.七、8.0 CentOS 7.X Fedora 20、2一、22 OracleLinux 六、7
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
若是你以爲你足夠NB,那麼
## 測試版ubuntu
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
## 實驗版centos
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
一、由於測試版、實驗版的版本號格式不統一,因此經過制定版本的方式安裝可能存在問題。bash
Ubuntu的測試版、實驗版的版本號格式示例: 1.12.0~rc一、1.12.0~rc2 CentOS的測試版、實驗版的版本號格式示例: 1.11.0、1.12.0
二、CentOS系統上會爲正式版
、測試版
、實驗版
分別添加數據源描述文件。若是你從正式版想要切換到測試版、實驗版的話,請刪除數據源描述文件。
描述文件分別爲 /etc/yum.repos.d/docker-main.repo、/etc/yum.repos.d/docker-test.repo、/etc/yum.repos.d/docker-experimental.repo
負載均衡
三、FAQ
幫助文件地址
http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/helpcurl
yum update、apt-get update
時,報出 404 Not Found 的錯誤,源站路徑更新致使鏡像源的路徑不正確,解決辦法:ide
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/resume | sh -
每一個軟件都是有配置文件的,docker也有,可是在不一樣的系統上,它的配置文件位置會有一點點小區別。最近兩年處於Upstart/SysinitV
到systemd
的過渡期,因此配置服務的方式對於不一樣的系統是不同的,要看本身使用的是什麼操做系統,以及什麼版本。測試
對於 Upstart
的系統(Ubuntu 14.10或之前的版本,Debian 7或之前的版本
),配置文件可能在url
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+
的系統)