1. Docker簡單介紹 1.1. 什麼是docker? 1.2. Docker和傳統虛擬機 1.3. 為什麼使用docker 1.4. docker架構 2. Docker安裝 2.1. docker版本命名 2.2. docker安裝 2.3. docker卸載 2.4. docker鏡像加速 ...
1. Docker簡單介紹
1.1. 什麼是docker?
google go語言開發,基於Linux內核的cgroup,namespace,以及AUFS類的Union FS等技術,對進程進行封裝隔離,屬於操作系統層面的虛擬化技術。由於隔離的進程獨立於宿主和其他的隔離的進程,因此稱其為容器。
1.2. Docker和傳統虛擬機
1.3. 為什麼使用docker
1.4. docker架構
2. Docker安裝
2.1. docker版本命名
重點:
- CE
- 社區版
- 免費
- EE
- 企業版
- 收費
2.2. docker安裝
- 系統要求
Docker CE支持Centos7,內核不低於3.10
[hadoop@hadoop101 ~]$ uname -r
3.10.0-957.27.2.el7.x86_64
- 卸載舊版本docker
[hadoop@hadoop101 ~]$ sudo yum remove docker
- 安裝docker-ce
[hadoop@hadoop101 ~]$ sudo yum install docker-ce
# 發現沒有package
# 需要安裝一些依賴
[hadoop@hadoop101 ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
[hadoop@hadoop101 ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[hadoop@hadoop101 ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 腳本安裝docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
- 啟動docker
# 設置開機啟動
sudo systemctl enable docker
sudo systemctl start docker
# 查看docker是否安裝成功
[hadoop@hadoop101 ~]$ sudo docker info
# 查看docker版本信息
[hadoop@hadoop101 ~]$ docker --version
- 建立docker用戶組
當前環境下,執行docker命令必須使用sudo
,非常麻煩。我們可以創建docker,把當前用戶加入docker用戶組。
[hadoop@hadoop101 ~]$ sudo groupadd docker
# hadoop是當前用戶
[hadoop@hadoop101 ~]$ sudo usermod -aG docker hadoop
[hadoop@hadoop101 ~]$ logout
- 測試docker是否安裝成功
# 啟動一個基於hello-world鏡像的容器
[hadoop@hadoop101 ~]$ docker run hello-world
2.3. docker卸載
- 刪除docker安裝包
sudo remove docker-ce
- 刪除docker鏡像
sudo rm -rf /var/lib/docker
2.4. docker鏡像加速器
docker官方和國內雲服務供應商提供了國內加速器服務:
- docker官方:registry mirror
- 阿裡雲加速器
- DaoCloud加速器
- 163加速器
- 在/etc/docker路徑下添加文件daemon.json
{
"registry-mirrors":[
"http://hub-mirror.c.163.com"
]
}
- 重啟docker服務並生效
[hadoop@hadoop101 docker]$ sudo systemctl daemon-reload
[hadoop@hadoop101 docker]$ sudo systemctl restart docker
# 查看Registry Mirrors是否修改
[hadoop@hadoop101 docker]$ docker info
- 測試效果
# 列出所有的容器
[hadoop@hadoop101 docker]$ docker ps -a
1c42f7a46920 hello-world "/hello"
# 刪除容器
[hadoop@hadoop101 docker]$ docker rm -f 1c42f7a46920
# 刪除鏡像
[hadoop@hadoop101 docker]$ docker rmi hello-world
[hadoop@hadoop101 docker]$ docker run hello-world