Docker學(xué)習(xí)筆記1
標(biāo)簽(空格分隔): Docker
最近一段時間因項目需要,開始學(xué)習(xí)Docker。記錄下之前學(xué)習(xí)的內(nèi)容。
Docker簡介
什么是Docker
Docker是一個開源的引擎,可以輕松的為任何任何應(yīng)用創(chuàng)建一個輕量級的、可移植的、自給自足的容器。編譯測試通過的容器可在批量地部署到生產(chǎn)環(huán)境中。
傳統(tǒng)虛擬機技術(shù)是虛擬一套硬件后,在其運行一個完整的操作系統(tǒng),然后在該系統(tǒng)運行所需應(yīng)用進程;而Docker容器內(nèi)的應(yīng)用進程直接運行于宿主機的內(nèi)核,容器內(nèi)沒有自己的內(nèi)核,也沒有進行硬件虛擬化。因此容器比傳統(tǒng)虛擬機更為輕便。
下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處。


為什么要使用Docker
- 更高效的利用系統(tǒng)資源
- 更快的啟動時間
- 一致的運行環(huán)境
- 持續(xù)交付和部署
- 更輕松的遷移
- 更輕松的維護和擴展
安裝Docker
系統(tǒng)要求
Centos系統(tǒng)版本最低要求是Centos 7
自動安裝
使用Docker官方提供的安裝腳本,執(zhí)行后就安裝上了Docker
curl -sSL https://get.docker.com/ | sh
手動安裝
添加內(nèi)核參數(shù)
sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
重新加載 sysctl.conf
sudo sysctl -p
添加yum源
Centos系統(tǒng)源中的版本較舊,而且非官方維護的版本。需要使用Docker官方提供的Centos軟件源
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
安裝Docker
更新 yum 軟件源緩存,并安裝 docker-engine。
sudo yum update
sudo yum install docker-engine
啟動docker引擎
sudo systemctl enable docker
sudo systemctl start docker
建立docker用戶組
默認(rèn)情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出于安全考慮,一般 Linux 系統(tǒng)上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。
建立docker組
sudo groupadd docker
將當(dāng)前用戶加入docker組
sudo usermod -aG docker $USER
測試是否安裝成功
docker run hello-world