費用流
阿新 • • 發佈:2020-08-15
Docker的基本組成
映象(image):
docker映象就好比是一個模板,可以通過這個模板來建立容器服務,tomcat映象--->run--->tomcat01容器(提供服務),通過映象可以建立很多容器,
容器(container):
Docker利用容器技術,獨立執行一個或一組應用,通過映象來建立的
啟動 停止 刪除 基本命令
目前可以把這個容器理解為一個簡易的linux系統
倉庫(repository):
倉庫就是存放映象的地方
倉庫分為公有倉庫和私有倉庫
安裝Docker
環境準備
- CentOs7
環境檢視
#系統核心是 3.10以上 [root@localhost /]# uname -r 3.10.0-1127.el7.x86_64 #系統版本 [root@localhost /]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
安裝
# 1、解除安裝舊版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2、需要的安裝包 sudo yum install -y yum-utils # 3、設定映象的倉庫 sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #預設是從國外的,十分慢 sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推薦使用阿里雲的 # 更新yum軟體包索引 [root@localhost /]# yum makecache fast # 配置映象加速器 # 阿里雲地址 https://dev.aliyun.com/search.html # 註冊登入後 找到映象服務 映象加速器裡有加速地址 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://gpj3pquj.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker # 4、安裝docker docker-ce 社群版 docker-ee 企業版 sudo yum install docker-ce docker-ce-cli containerd.io # 5、啟動docker sudo systemctl start docker # 6、使用docker version檢視是否安裝成功
# 7、執行hello-world
# 8、檢視一下下載的hello-world映象
[root@localhost /]# docker images
#映象名 #版本號 # Id
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 7 months ago 13.3kB
瞭解:解除安裝docker
# 1、解除安裝依賴----》解除安裝Docker Engine,CLI和Containerd軟體包: sudo yum remove docker-ce docker-ce-cli containerd.io # 2、刪除資源----》主機上的映像,容器,卷或自定義配置檔案不會自動刪除。要刪除所有影象,容器和卷: sudo rm -rf /var/lib/docker # /var/lib/docker docker的預設工作路徑
回顧hello-world流程
底層原理
docker是怎麼工作的?
Docker是一個Client-Server結構的系統,Docker的守護程序執行在主機上,通過socket從客戶端訪問
DockerServer接收到Docker-Client的指令,就會執行這個命令
Docker為什麼比虛擬機器快
- Docker有著比虛擬機器更少的抽象層,由於Docker不需要Hypervisor實現硬體資源虛擬化,執行在Docker容器上的程式直接使用的都是實際物理機的硬體資源,因此在Cpu、記憶體利用率上Docker將會在效率上有明顯優勢。
- Docker利用的是宿主機的核心,而不需要Guest OS,因此,當新建一個容器時,Docker不需要和虛擬機器一樣重新載入一個作業系統,避免了引導、載入作業系統核心這個比較費時費資源的過程,當新建一個虛擬機器時,虛擬機器軟體需要載入Guest OS,這個新建過程是分鐘級別的,而Docker由於直接利用宿主機的作業系統則省略了這個過程,因此新建一個Docker容器只需要幾秒鐘。