1. 程式人生 > 實用技巧 >劍指offer——2

劍指offer——2

安裝Docker

環境準備

1、需要會點linux的基礎

2、CentOS 7

3、我們使用Xshell連線遠端伺服器進行操作!

檢視環境

# 系統核心是3.10
[root@iZwz941qZ ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
[root@iZw1qZ ~]# uname -r
3.10.0-1062.18.1.el7.x86_64
[root@iZwz94cw1gup8aldclit1qZ ~]# 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.需要的安裝包
yum install -y yum-utils

# 3.設定映象的倉庫
$ sudo 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


# 5.安裝docker 相關的內容  docker-ce社群版  ee企業版
yum install docker-ce docker-ce-cli containerd.io


# 6.啟動docker
systemctl start docker


![](https://img2020.cnblogs.com/blog/1898315/202008/1898315-20200803203309490-479907139.png)



# 注意需要啟動進行以下一系列的操作
# 不然會報 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
# 檢視版本
[root@iZwz94clit1qZ /]# docker version
Client: Docker Engine - Community
 Version:           19.03.11
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        42e35e61f3
 Built:             Mon Jun  1 09:13:48 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.11
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       42e35e61f3
  Built:            Mon Jun  1 09:12:26 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683


# 8、檢視一下下載的這個 hello-world 映象
[root@iZwz94it1qZ /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB

瞭解:解除安裝docker

# 1.解除安裝依賴
yum remove docker-ce docker-ce-cli containerd.io

# 2.刪除資源
rm -rf /var/lib/docker

# /var/lib/docker docker的預設路徑

阿里映象加速

1.登入阿里雲找到

2.找到映象加速地址

3.配置使用

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://p3jr2wkc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker  # 啟動

回顧HelloWorld流程

Docker執行原理圖:

DockerHub:是一個倉庫

底層原理

Docker是怎麼工作的?

Docker是一個Client-Server 結構的系統,Docker的守護程序執行在主機上,通過Socket從客戶端訪問!

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

Docker 為什麼比VM快?

1、Docker有著比虛擬機器更少的抽象層

2、docker利用的是宿主機的核心,vm需要的是Guest OS

​ 所以說,新建一個容器的時候,docker不需要像虛擬機器一樣重新載入一個作業系統核心,避免引導,虛擬機器是載入Guest OS,分鐘級別的,而docker是利用宿主機的作業系統,省略複雜的過程,秒級

Docker的常用命令

幫助命令

docker version    # 顯示版本資訊
docker info		  # 顯示docker的系統資訊,包括映象和容器數量
docker 命令 --help # 幫助命令

幫助文件的地址:https://docs.docker.com/reference/