成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),于洪網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:于洪等地區(qū)。于洪做網(wǎng)站價(jià)格咨詢:18980820575
Docker 是一個(gè)開源的應(yīng)用容器引擎,基于Go 語(yǔ)言并遵從Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker的應(yīng)用場(chǎng)景
Docker的優(yōu)點(diǎn)
1、簡(jiǎn)化程序:
Docker 讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以實(shí)現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢(shì),過(guò)去需要用數(shù)天乃至數(shù)周的 任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你打包你的糾結(jié)!比如 Docker 鏡像;Docker 鏡像中包含了運(yùn)行環(huán)境和配置,所以 Docker 可以簡(jiǎn)化部署多種應(yīng)用實(shí)例工作。比如 Web 應(yīng)用、后臺(tái)應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用、大數(shù)據(jù)應(yīng)用比如 Hadoop 集群、消息隊(duì)列等等都可以打包成一個(gè)鏡像部署。
3、節(jié)省開支:
一方面,云計(jì)算時(shí)代到來(lái),使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價(jià)格的思維定勢(shì)。Docker 與云的結(jié)合,讓云空間得到更充分的利用。不僅解決了硬件管理的問(wèn)題,也改變了虛擬化的方式。
1.Docker的安裝:
Docker支持以下的CentOS版本:
1.2前提條件
目前,CentOS 僅發(fā)行版本中的內(nèi)核支持 Docker。
Docker 運(yùn)行在 CentOS 7 上,要求系統(tǒng)為64位、系統(tǒng)內(nèi)核版本為 3.10 以上。
Docker 運(yùn)行在CentOS-6.5或更高的版本的 CentOS 上,要求系統(tǒng)為64位、系統(tǒng)內(nèi)核版本為 2.6.32-431 或者更高版本。
我的操作系統(tǒng)版本:
centos7官方英文安裝docker CE說(shuō)明:https://docs.docker.com/install/linux/docker-ce/centos/
centos7中文安裝docker CE說(shuō)明https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/
Docker 軟件包和依賴包已經(jīng)包含在默認(rèn)的 CentOS-Extras 軟件源里,可以更新yum源選擇yum install的方法安裝,也可以選擇下載rpm安裝包
官方下載地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
您可以根據(jù)您的需要以不同的方式安裝Docker CE:
大多數(shù)用戶設(shè)置Docker的存儲(chǔ)庫(kù)并從中進(jìn)行安裝,以便安裝和升級(jí)任務(wù)。這是推薦的方法。
有些用戶下載RPM軟件包并手動(dòng)安裝,并完全手動(dòng)管理升級(jí)。這對(duì)于在無(wú)法訪問(wèn)互聯(lián)網(wǎng)的空隙系統(tǒng)上安裝Docker等情況很有用。
1.3使用wget 命令進(jìn)行下載rpm包
創(chuàng)建一個(gè)downloads文件夾,然后使用wget命令進(jìn)行下載
[root@sungeek downloads]# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm [root@sungeek downloads]# yum install docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
1.4使用存儲(chǔ)庫(kù)進(jìn)行安裝(推薦方法-不過(guò)國(guó)外存儲(chǔ)庫(kù)國(guó)內(nèi)拉取很慢)
首次在新主機(jī)上安裝Docker CE之前,需要設(shè)置Docker存儲(chǔ)庫(kù)。之后,您可以從存儲(chǔ)庫(kù)安裝和更新Docker。
設(shè)置存儲(chǔ)庫(kù)
1.安裝所需的包。yum-utils
提供了yum-config-manager
效用,并device-mapper-persistent-data
和lvm2
由需要devicemapper
存儲(chǔ)驅(qū)動(dòng)程序。
[root@sungeek ~]# yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2.使用以下命令設(shè)置stable的存儲(chǔ)庫(kù)。即使您想從edge或test存儲(chǔ)庫(kù)安裝構(gòu)建,也總是需要stable的存儲(chǔ)庫(kù)。
[root@sungeek ~]# yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3.可選:?jiǎn)⒂胑dge和test存儲(chǔ)庫(kù)。這些存儲(chǔ)庫(kù)包含在docker.repo
上面的文件中,但默認(rèn)情況下處于禁用狀態(tài)。您可以將它們與穩(wěn)定的存儲(chǔ)庫(kù)一起啟用。
[root@sungeek ~]# yum-config-manager --enable docker-ce-edge [root@sungeek ~]# yum-config-manager --enable docker-ce-test
您可以通過(guò)使用該標(biāo)志運(yùn)行命令來(lái)禁用edge或test存儲(chǔ)庫(kù)。要重新啟用它,請(qǐng)使用標(biāo)志。以下命令禁用邊緣存儲(chǔ)庫(kù)。yum-config-manager
--disable
--enable
[root@sungeek ~]# yum-config-manager --disable docker-ce-edge
注意:從Docker 17.06開始,穩(wěn)定版本也被推到edge并test版本庫(kù)。
安裝 DOCKER CE-----[我是把服務(wù)器設(shè)置了VPN才能拉取,國(guó)外資源訪問(wèn)很慢經(jīng)常超時(shí)]
1.更新yum
軟件包索引。
[root@sungeek ~]# yum makecache fast Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.shu.edu.cn * updates: mirrors.shu.edu.cn base | 3.6 kB 00:00:00 docker-ce-edge | 2.9 kB 00:00:00 docker-ce-stable | 2.9 kB 00:00:00 docker-ce-test | 2.9 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 docker-ce-test/x86_64/primary_db | 47 kB 00:00:00 Metadata Cache Created
如果這是自添加 Docker 鏡像倉(cāng)庫(kù)以來(lái)您首次刷新軟件包索引,系統(tǒng)將提示您接受 GPG 密鑰,并且將顯示此密鑰的指紋。驗(yàn)證指紋是否正確,并且在正確的情況下接受此密鑰。指紋應(yīng)匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
。
2.安裝最新版本的 Docker CE,或者轉(zhuǎn)至下一步以安裝特定版本。
[root@sungeek ~]# yum install docker-ce
警告:如果您啟用了多個(gè) Docker 鏡像倉(cāng)庫(kù),進(jìn)行安裝 或者更新而不在yum install
或yum update
命令中指定版本將始終安裝可用的最高版本, 這可能無(wú)法滿足您的穩(wěn)定性需求。
3.在生產(chǎn)系統(tǒng)中,您應(yīng)該安裝特定版本的 Docker CE,而不是始終使用最新版本。列出可用版本。此示例使用sort -r
命令按版本號(hào)(從最高到最低)對(duì)結(jié)果進(jìn)行排序,并且已被截?cái)唷?/p>
注:此yum list
命令僅顯示二進(jìn)制軟件包。如果還需要顯示 源軟件包,請(qǐng)從軟件包名稱中省略.x86_64
。
[root@sungeek ~]# yum list docker-ce.x86_64 --showduplicates | sort -r docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
返回的列表取決于啟用了哪些存儲(chǔ)庫(kù),并且特定于您的CentOS版本(.el7
在此示例中由后綴指示)。
例如,通過(guò)完全限定的軟件包名稱(它是軟件包名稱(docker-ce
))和版本字符串(第2列)直到第一個(gè)連字符來(lái)安裝特定版本,并用連字符(-
)分隔docker-ce-18.03.0.ce
[root@sungeek ~]# yum install docker-ce-[root@sungeek ~]# yum install docker-ce-docker-ce-18.03.0.ce-1.el7.centos
升級(jí) DOCKER CE
如需升級(jí) Docker CE,首先運(yùn)行yum makecache fast
,然后按照安裝說(shuō)明執(zhí)行操作,并選擇您要安裝的新版本。
說(shuō)明:國(guó)內(nèi)通過(guò)上面這個(gè)方法會(huì)顯示拉取超時(shí),因?yàn)閲?guó)外資源訪問(wèn)很慢,經(jīng)常會(huì)超時(shí)!
https://download.docker.com/linux/centos/7/x86_64/test/repodata/f4f313b71260886934a949b16efa15e5032e0b16c4cd26c1e87fdbf935d039d1-primary.sqlite.bz2: [Errno 12] Timeout on https://download.docker.com/linux/centos/7/x86_64/test/repodata/f4f313b71260886934a949b16efa15e5032e0b16c4cd26c1e87fdbf935d039d1-primary.sqlite.bz2: (28, 'Operation timed out after 30001 milliseconds with 0 out of 0 bytes received')
Trying other mirror.
1.5 啟動(dòng)Docker進(jìn)程
[root@localhost downloads]# systemctl start docker [root@localhost downloads]# systemctl status docker [root@localhost downloads]# systemctl enable docker --設(shè)置開機(jī)自啟動(dòng)docker服務(wù)
1.6驗(yàn)證安裝是否成功
直接輸入docker列出該命令的用法
測(cè)試運(yùn)行第一個(gè)容器:hello-world
由于本地沒(méi)有hello-world這個(gè)鏡像,所以會(huì)下載一個(gè)hello-world的鏡像,并在容器內(nèi)運(yùn)行。
2.最常用的幾條命令
2.1使用docker images查看鏡像
[root@localhost downloads]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
2.2使用docker ps -a 查看容器
[root@localhost downloads]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fa4f2de1c01 hello-world "/hello" 4 minutes ago Exited (0) 4 minutes ago elastic_lumiere
docker ps也是最常用的命令,-a :顯示所有的容器,包括未運(yùn)行的。
2.3使用docker logs查看容器控制臺(tái)輸出
獲取容器的日志
docker logs [container]
2.4卸載docker
1.查詢安裝過(guò)的包
[root@sungeek ~]# yum list installed | grep docker docker-client.x86_64 2:1.13.1-63.git94f4240.el7.centos @extras docker-common.x86_64 2:1.13.1-63.git94f4240.el7.centos @extras
2.刪除安裝的軟件包
[root@sungeek ~]# yum -y remove docker-client.x86_64 [root@sungeek ~]# yum -y remove docker-common.x86_64
3.刪除鏡像/容器等
[root@sungeek ~]# rm -rf /var/lib/docker/
4.輸入docker或docker --version驗(yàn)證是否卸載
[root@sungeek ~]# docker --version -bash: /usr/bin/docker: No such file or directory [root@sungeek ~]# docker -bash: /usr/bin/docker: No such file or directory
5.導(dǎo)入加載進(jìn)來(lái)覺得不合適可以使用 docker rm 容器ID 、 docker rmi 鏡像ID 來(lái)刪掉。
移除所有的容器和鏡像:
還有更多的命令可以參考docker命令大全:http://edu.jb51.net/docker/docker-command-manual.html
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。