目錄
1.安裝docker要點
CentOS Docker 安裝
Docker支持以下的CentOS版本:
CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本
版本(6、7)是不一樣的操作。低版本的有些功能可能不支持的
目前,CentOS 僅發行版本中的內核支持 Docker。
Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。
2.docker的基本組成
- 鏡像(image)
- 容器(container)
- 倉庫(repository)
鏡像:Docker 鏡像(Image)就是一個只讀的模板。鏡像可以用來創建 Docker 容器,一個鏡像可以創建很多容器。
容器:
Docker 利用容器(Container)獨立運行的一個或一組應用。容器是用鏡像創建的運行實例。
它可以被啓動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。
可以把容器看做是一個簡易版的 Linux 環境(包括root用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序。
容器的定義和鏡像幾乎一模一樣,也是一堆層的統一視角,唯一區別在於容器的最上面那一層是可讀可寫的。
倉庫:
倉庫(Repository)是集中存放鏡像文件的場所。
倉庫(Repository)和倉庫註冊服務器(Registry)是有區別的。倉庫註冊服務器上往往存放着多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標籤(tag)。
倉庫分爲公開倉庫(Public)和私有倉庫(Private)兩種形式。
最大的公開倉庫是 Docker Hub(https://hub.docker.com/),
存放了數量龐大的鏡像供用戶下載。國內的公開倉庫包括阿里雲 、網易雲 等
- image 文件生成的容器實例,本身也是一個文件,稱爲鏡像文件。
- 一個容器運行一種服務,當我們需要的時候,就可以通過docker客戶端創建一個對應的運行實例,也就是我們的容器
- 至於倉儲,就是放了一堆鏡像的地方,我們可以把鏡像發佈到倉儲中,需要的時候從倉儲中拉下來就可以了。
3.開始安裝docker
官網地址:https://docs.docker.com/install/linux/docker-ce/centos/
3.1查看當前系統版本
cat /etc/redhat-release
3.2 要確定能否上外網
ping www.baidu.com
3.3卸載已存在的
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3.4 安裝docker
yum install docker-ce docker-ce-cli containerd.io
3.5啓動docker
systemctl start docker
3.6 運行hello-workd 鏡像
docker run hello-world
3.7 查看docker版本
docker version
3.8 配置鏡像
docker默認鏡像源是指國外。修改默認鏡像源
vim /etc/docker/daemon.json
阿里鏡像源(更快)
申請地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
網易鏡像源
#網易雲
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
================================================安裝完成===========
4.docker運行命令
4.1 運行命令做了什麼?
docker run hello-world
5.docker運行的底層原理
5.1 docker是怎麼工作的
Docker是一個Client-Server結構的系統,Docker守護進程運行在主機上, 然後通過Socket連接從客戶端訪問,守護進程從客戶端接受命令並管理運行在主機上的容器。
。
5.2 爲什麼Docker比較比VM快
(1) docker有着比虛擬機更少的抽象層。由亍docker不需要Hypervisor實現硬件資源虛擬化,運行在docker容器上的程序直接使用的都是實際物理機的硬件資源。因此在CPU、內存利用率上docker將會在效率上有明顯優勢。、
(2)docker利用的是宿主機的內核,而不需要Guest OS。因此,當新建一個容器時,docker不需要和虛擬機一樣重新加載一個操作系統內核。仍而避免引尋、加載操作系統內核返個比較費時費資源的過程,當新建一個虛擬機時,虛擬機軟件需要加載Guest OS,返個新建過程是分鐘級別的。而docker由於直接利用宿主機的操作系統,則省略了返個過程,因此新建一個docker容器只需要幾秒鐘。