溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker簡(jiǎn)介及安裝

發(fā)布時(shí)間:2020-08-30 01:26:57 來(lái)源:網(wǎng)絡(luò) 閱讀:672 作者:筱振 欄目:云計(jì)算

隨著計(jì)算機(jī)近年來(lái)的蓬勃發(fā)展,產(chǎn)生了大量?jī)?yōu)秀系統(tǒng)和軟件。軟件開(kāi)發(fā)人員可以自由選擇各種軟件應(yīng)用。但同時(shí)帶來(lái)的問(wèn)題就是需要維護(hù)一個(gè)非常龐大的開(kāi)發(fā)、測(cè)試和生成環(huán)境。面對(duì)這種情況,Docker容器技術(shù)橫空出世,提供了非常簡(jiǎn)單、靈活、高效的解決方案,不再需要過(guò)多的改變現(xiàn)有的使用習(xí)慣,就可以和已有的工具配合使用。因此,因此掌握Docker也是途徑云計(jì)算的必經(jīng)之路。

一、Docker概述

1)Docker簡(jiǎn)介

Docker作為開(kāi)源社區(qū)最火爆的項(xiàng)目,它是在Linux容器里運(yùn)行應(yīng)用的開(kāi)源工具,是一種輕量級(jí)的“虛擬機(jī)”,docker的全部源代碼都在https://github.com/docker 進(jìn)行相關(guān)維護(hù),其官網(wǎng)是:https://www.docker.com 。

Docker的設(shè)計(jì)宗旨:通過(guò)對(duì)應(yīng)用組件的封裝、發(fā)布、部署、運(yùn)行等生命周期的管理,達(dá)到應(yīng)用組件級(jí)別的一次封裝,到處運(yùn)行的目的。這里的組件,既可以是一個(gè)應(yīng)用,也可以是一套服務(wù),甚至是一個(gè)完整的操作系統(tǒng)。

2)Docker與虛擬機(jī)的區(qū)別

作為一種輕量級(jí)的虛擬化方案,Docker與傳統(tǒng)虛擬機(jī)相比有顯著的優(yōu)勢(shì)。

特性 Docker容器 傳統(tǒng)虛擬機(jī)
啟動(dòng)速度 秒級(jí) 分鐘級(jí)
計(jì)算能力損耗 幾乎無(wú) 損耗50%左右
性能 接近原生 弱于
系統(tǒng)支持量(單機(jī)) 上千個(gè) 幾十個(gè)
隔離性 資源限制 完全隔離

Docker之所以擁有眾多優(yōu)勢(shì),與操作系統(tǒng)虛擬化自身的特點(diǎn)是分不開(kāi)的。傳統(tǒng)虛擬機(jī)需要有額外的虛擬機(jī)管理程序和虛擬操作系統(tǒng)層,而Docker容器是直接在操作系統(tǒng)層面之上實(shí)現(xiàn)的虛擬化。

如圖:

Docker簡(jiǎn)介及安裝

3)Docker的使用場(chǎng)景

現(xiàn)在需要能方便地創(chuàng)建運(yùn)行在云平臺(tái)上的應(yīng)用,必須要脫離底層的硬件,同時(shí)還需要任何時(shí)間、地點(diǎn)可獲取這些資源,這正是Docker所能提供的。

Docker的容器技術(shù)可以在一條主句上輕松為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。通過(guò)這種容器打包應(yīng)用程序,意味著簡(jiǎn)化了重新部署、調(diào)試這些瑣碎的重復(fù)工作,極大地提高了工作效率。

比如:服務(wù)器從騰訊云遷移到阿里云,如果采用了Docker容器技術(shù),遷移只需要在新的服務(wù)器上啟動(dòng)需要的容器即可。

二、Docker的核心概念

1)Image(鏡像)

鏡像是創(chuàng)建docker容器的基礎(chǔ),docker鏡像類(lèi)似于虛擬機(jī)鏡像,可以將它理解為一個(gè)面向docker引擎的只讀模塊,包含文件系統(tǒng)。

Docker提供了簡(jiǎn)單的機(jī)制來(lái)創(chuàng)建和更新現(xiàn)有的進(jìn)行,用戶也可以從網(wǎng)上下載已經(jīng)做好的應(yīng)用進(jìn)行來(lái)直接使用。

2)Container(容器)

容器是從鏡像創(chuàng)建的應(yīng)用運(yùn)行實(shí)例,容器之間是相互隔離、互不可見(jiàn)的??梢园讶萜骺醋鲆粋€(gè)簡(jiǎn)易版的linux系統(tǒng)環(huán)境(包括root權(quán)限、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等),以及運(yùn)行在這個(gè)環(huán)境上的應(yīng)用打包而成的應(yīng)用盒子。

3)Repository(倉(cāng)庫(kù))

Docker倉(cāng)庫(kù)是用來(lái)集中保存鏡像的地方,當(dāng)創(chuàng)建了自己的鏡像之后,可以使用命令將它上傳到公有倉(cāng)庫(kù)或私有倉(cāng)庫(kù),這樣一來(lái)當(dāng)下次要在另外一條機(jī)器上使用這個(gè)鏡像是,只需從倉(cāng)庫(kù)拉取下來(lái)即可!

倉(cāng)庫(kù)注冊(cè)服務(wù)器是存放倉(cāng)庫(kù)的地方,其中包含了多個(gè)倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)集中存放某一類(lèi)鏡像,并且使用不同的標(biāo)簽來(lái)區(qū)分它們。目前最大的公有倉(cāng)庫(kù)Docker Hub,存放了數(shù)量龐大的鏡像提供用戶下載使用。

三、安裝Docker

本次使用CentOS 7.5版本,安裝的Docker為18.09版本!

1)安裝指定的Docker版本

[root@docker ~]# systemctl stop firewalld && setenforce 0
#關(guān)閉防火墻與SELinux,如果不關(guān)閉,會(huì)阻礙docker的正常啟動(dòng)
[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
#安裝docker所需依賴
[root@docker ~]#  yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#獲取阿里云的docker-ce的repo配置文件
[root@docker ~]# yum makecache             #建立yum元數(shù)據(jù)緩存
[root@docker ~]# yum repolist            #列出yum倉(cāng)庫(kù)的docker可用軟件包
                ......................                             //省略部分內(nèi)容
docker-ce-stable/x86_64                Docker CE Stable - x86_64                     65
#確認(rèn)docker.....這一列有可用的包,我這里顯示的是65個(gè)(但是,一定不可以為0)
[root@docker ~]# yum list docker-ce.x86_64 --showduplicates
#/查看docker可用版本,其中stable表示為穩(wěn)定版
[root@docker ~]# yum install -y docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.0-3.el7
#需安裝docker-ce、docker-ce-cli、containerd.io這三個(gè)工具
#其中docker-ce、docker-ce-cli需指定版本
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl start docker
#啟動(dòng)docker
[root@docker ~]# docker -v         #查看docker-ce-cli的版本
Docker version 18.09.0, build 4d60db4
[root@docker ~]# docker version     #查看docker的詳細(xì)信息
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:22 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:19:08 2018
  OS/Arch:          linux/amd64
  Experimental:     false

如果是最小化安裝的docker,則需執(zhí)行以下命令,便于支持Docker命令自動(dòng)補(bǔ)全!

[root@docker ~]# yum -y install bash-completion        //支持docker命令自動(dòng)補(bǔ)全,以下命令可以不輸入
[root@docker~]# curl -L https://raw.githubusercontent.com/docker/compose/1.24.1/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
//下載支持docker命令自動(dòng)補(bǔ)全的腳本文件
[root@docker ~]# source /etc/bash_completion.d/docker-compose
//執(zhí)行腳本之后,切換bash即可生效

2)docker鏡像下載加速

采用阿里云的鏡像加速器!

[root@docker ~]#  tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://5zntnq0h.mirror.aliyuncs.com"]
}
EOF
[root@docker ~]# systemctl daemon-reload && systemctl restart docker
#更改完成后,需重啟docker
[root@docker ~]# cat /etc/docker/daemon.json 
#這個(gè)就是和加速相關(guān)的文件,json文件的是以鍵值對(duì)的格式存儲(chǔ)的
{
  "registry-mirrors": ["https://5zntnq0h.mirror.aliyuncs.com"]
}

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI