天天看點

Docker(二)安裝及原理

Docker 的基本組成

Docker(二)安裝及原理

Client 用戶端

Docker_Host 伺服器

Registry 倉庫

鏡像(image):

docker鏡像就好比是一個模版,可以通過這個模版來建立容器服務,tomcat鏡像------->run ------->tomcat01容器(提供伺服器)

容器(container):

docker利用容器技術,可以獨立運作一個或一組應用,通過鏡像來建立!

啟動,停止,删除,基本指令!

目前可以把容器了解為一個簡單的linux系統

倉庫(repository):

倉庫就是來存放鏡像的地方!

倉庫分為 公有倉庫 和 私有倉庫

公有例如:

Docker Hub(預設是國外的)

安裝Docker

環境準備
  1. 需要會Linux基礎
  2. CentOS7
  3. 遠端軟體
環境檢視

系統核心 3.10以上

[[email protected] /]# uname -r

3.10.0-1160.el7.x86_64

系統版本

[[email protected] /]# 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”

安裝

官網幫助文檔(https://docs.docker.com/engine/install/centos/)

針對各個版本的作業系統,官網可以找到詳細的安裝教程! 上附連結為CentOS的! 其他作業系統的也可在連結中找到!

Docker(二)安裝及原理

1.安裝前先解除安裝掉舊的版本:

yum remove docker     docker-client  docker-client-latest      docker-common     docker-latest    docker-latest-logrotate       docker-logrotate      docker-engine  -y
           
Docker(二)安裝及原理

2.需要的安裝包

yum install -y yum-utils
           
Docker(二)安裝及原理

3.設定鏡像的倉庫

#官方預設
yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo   
#阿裡
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
           

#預設是從國外的,下載下傳十分慢!

這裡我們不适用官方的

使用國内的阿裡雲的會比較快

#更新yum軟體包索引
yum makecache fast
           

4.安裝最新的Docker

yum install docker-ce docker-ce-cli containerd.io -y   
#docker-ce社群版       docker-ee企業版
           
yum list docker-ce --showduplicates | sort -r
 #檢視docker可安裝版本
           
Docker(二)安裝及原理
yum install -y docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
#安裝指定版本
           

5.啟動docker,檢視docker 版本

systemctl start docker
 docker version
 #可通過此指令檢視是否安裝成功! 
           
Docker(二)安裝及原理

6.測試

docker run hello-world 
           
Docker(二)安裝及原理

- 沒有尋找到鏡像!

Unable to find image ‘hello-world:latest’ locally
  • 遠端拉官方library下的 hello-world
latest: Pulling from library/hello-world
  • 拉取之後産生簽名資訊,代表拉取OK !~

0e03bdcc26d7: Pull complete

Digest: sha256:e7c70bb24b462baa86c102610182e3efcb12a04854e8c582838d92970a09f323

Status: Downloaded newer image for hello-world:latest

拉取後因執行run指令,屏顯 “Hello from Docker!” 說明你的docker已經安裝成功!

Hello from Docker!

This message shows that your installation appears to be working correctly.

7.檢視一下 下載下傳的 hello-world 鏡像

[[email protected] /]# docker images
Docker(二)安裝及原理

解除安裝 docker

Docker(二)安裝及原理
#解除安裝依賴
yum remove  docker-ce docker-ce-cli containerd.io
#删除資源
rm -rf /var/lib/docker
# /var/lib/docker   docker預設工作路徑
           

阿裡雲鏡像加速

這裡說下, 加速是免費的。注冊個阿裡賬号就可以了。

1.登入阿裡雲,找到容器鏡像服務

Docker(二)安裝及原理

2.找到鏡像加速位址

Docker(二)安裝及原理

3.配置使用

#建立目錄
sudo mkdir -p /etc/docker

#docker下daemon.json 給他配置一個阿裡雲的位址(https://sy60eocl.mirror.aliyuncs.com)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://sy60eocl.mirror.aliyuncs.com"]
}
EOF

#以上配置完成後 重新加載鏡像
sudo systemctl daemon-reload

#重新開機docker
sudo systemctl restart docker
           

回顧流程!

Hello World是怎樣執行的!

Docker(二)安裝及原理

報錯例如:

[[email protected] /]# docker run ayuuu546546416165165156
Unable to find image 'ayuuu546546416165165156:latest' locally
docker: Error response from daemon: pull access denied for ayuuu546546416165165156, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
           
Docker(二)安裝及原理

底層原理

docker是怎麼工作的?

docker是一個Client - Server 結構的系統,Docker的守護程序運作在主機上。通過Socket從用戶端通路!

Docker Server 接收到Docker-Client 的指令,就會執行這個指令!

Docker(二)安裝及原理

Docker 為什麼比VM快?

1.Docker有着比虛拟機更少的抽象層

2.Docker利用的是主控端的核心,vm需要時Guest OS

Docker(二)安裝及原理

是以,建立一個容器的時候,Docker不需要像虛拟機一樣重新加載一個作業系統的核心,避免引導! 虛拟機是加載 Guest OS,分鐘級别的。

Docker是利用主控端的作業系統,省略了這個複雜的過程! 秒級 !

理論未曾實踐!

之後的學習筆記會逐漸實踐!

最後再回過頭來看理論,我想就會很清晰了!

學習位址:

https://www.bilibili.com/video/BV1og4y1q7M4?p=5