隨著計(jì)算機(jī)近年來的蓬勃發(fā)展,產(chǎn)生了大量優(yōu)秀系統(tǒng)和軟件。軟件開發(fā)人員可以自由選擇各種軟件應(yīng)用。但同時(shí)帶來的問題就是需要維護(hù)一個(gè)非常龐大的開發(fā)、測試和生成環(huán)境。面對這種情況,Docker容器技術(shù)橫空出世,提供了非常簡單、靈活、高效的解決方案,不再需要過多的改變現(xiàn)有的使用習(xí)慣,就可以和已有的工具配合使用。因此,因此掌握Docker也是途徑云計(jì)算的必經(jīng)之路。
創(chuàng)新互聯(lián)公司服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過十多年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進(jìn)行網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。Docker作為開源社區(qū)最火爆的項(xiàng)目,它是在Linux容器里運(yùn)行應(yīng)用的開源工具,是一種輕量級的“虛擬機(jī)”,docker的全部源代碼都在https://github.com/docker 進(jìn)行相關(guān)維護(hù),其官網(wǎng)是:https://www.docker.com 。
Docker的設(shè)計(jì)宗旨:通過對應(yīng)用組件的封裝、發(fā)布、部署、運(yùn)行等生命周期的管理,達(dá)到應(yīng)用組件級別的一次封裝,到處運(yùn)行的目的。這里的組件,既可以是一個(gè)應(yīng)用,也可以是一套服務(wù),甚至是一個(gè)完整的操作系統(tǒng)。
作為一種輕量級的虛擬化方案,Docker與傳統(tǒng)虛擬機(jī)相比有顯著的優(yōu)勢。
特性 | Docker容器 | 傳統(tǒng)虛擬機(jī) |
---|---|---|
啟動速度 | 秒級 | 分鐘級 |
計(jì)算能力損耗 | 幾乎無 | 損耗50%左右 |
性能 | 接近原生 | 弱于 |
系統(tǒng)支持量(單機(jī)) | 上千個(gè) | 幾十個(gè) |
隔離性 | 資源限制 | 完全隔離 |
Docker之所以擁有眾多優(yōu)勢,與操作系統(tǒng)虛擬化自身的特點(diǎn)是分不開的。傳統(tǒng)虛擬機(jī)需要有額外的虛擬機(jī)管理程序和虛擬操作系統(tǒng)層,而Docker容器是直接在操作系統(tǒng)層面之上實(shí)現(xiàn)的虛擬化。
如圖:
現(xiàn)在需要能方便地創(chuàng)建運(yùn)行在云平臺上的應(yīng)用,必須要脫離底層的硬件,同時(shí)還需要任何時(shí)間、地點(diǎn)可獲取這些資源,這正是Docker所能提供的。
Docker的容器技術(shù)可以在一條主句上輕松為任何應(yīng)用創(chuàng)建一個(gè)輕量級的、可移植的、自給自足的容器。通過這種容器打包應(yīng)用程序,意味著簡化了重新部署、調(diào)試這些瑣碎的重復(fù)工作,極大地提高了工作效率。
比如:服務(wù)器從騰訊云遷移到阿里云,如果采用了Docker容器技術(shù),遷移只需要在新的服務(wù)器上啟動需要的容器即可。
鏡像是創(chuàng)建docker容器的基礎(chǔ),docker鏡像類似于虛擬機(jī)鏡像,可以將它理解為一個(gè)面向docker引擎的只讀模塊,包含文件系統(tǒng)。
Docker提供了簡單的機(jī)制來創(chuàng)建和更新現(xiàn)有的進(jìn)行,用戶也可以從網(wǎng)上下載已經(jīng)做好的應(yīng)用進(jìn)行來直接使用。
容器是從鏡像創(chuàng)建的應(yīng)用運(yùn)行實(shí)例,容器之間是相互隔離、互不可見的??梢园讶萜骺醋鲆粋€(gè)簡易版的linux系統(tǒng)環(huán)境(包括root權(quán)限、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等),以及運(yùn)行在這個(gè)環(huán)境上的應(yīng)用打包而成的應(yīng)用盒子。
Docker倉庫是用來集中保存鏡像的地方,當(dāng)創(chuàng)建了自己的鏡像之后,可以使用命令將它上傳到公有倉庫或私有倉庫,這樣一來當(dāng)下次要在另外一條機(jī)器上使用這個(gè)鏡像是,只需從倉庫拉取下來即可!
倉庫注冊服務(wù)器是存放倉庫的地方,其中包含了多個(gè)倉庫,每個(gè)倉庫集中存放某一類鏡像,并且使用不同的標(biāo)簽來區(qū)分它們。目前大的公有倉庫Docker Hub,存放了數(shù)量龐大的鏡像提供用戶下載使用。
本次使用CentOS 7.5版本,安裝的Docker為18.09版本!
[root@docker ~]# systemctl stop firewalld && setenforce 0
#關(guān)閉防火墻與SELinux,如果不關(guān)閉,會阻礙docker的正常啟動
[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倉庫的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
#啟動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命令自動補(bǔ)全!
[root@docker ~]# yum -y install bash-completion //支持docker命令自動補(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命令自動補(bǔ)全的腳本文件
[root@docker ~]# source /etc/bash_completion.d/docker-compose
//執(zhí)行腳本之后,切換bash即可生效
采用阿里云的鏡像加速器!
[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文件的是以鍵值對的格式存儲的
{
"registry-mirrors": ["https://5zntnq0h.mirror.aliyuncs.com"]
}
———————— 本文至此結(jié)束,感謝閱讀 ————————
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。