您好,登錄后才能下訂單哦!
Docker 是一個開源的應用容器引擎,基于Go 語言并遵從Apache2.0協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker的應用場景
Docker的優點
1、簡化程序:
Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的 任務,在Docker容器的處理下,只需要數秒就能完成。
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后臺應用、數據庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。
3、節省開支:
一方面,云計算時代到來,使開發者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與云的結合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
1.Docker的安裝:
Docker支持以下的CentOS版本:
1.2前提條件
目前,CentOS 僅發行版本中的內核支持 Docker。
Docker 運行在 CentOS 7 上,要求系統為64位、系統內核版本為 3.10 以上。
Docker 運行在CentOS-6.5或更高的版本的 CentOS 上,要求系統為64位、系統內核版本為 2.6.32-431 或者更高版本。
我的操作系統版本:
centos7官方英文安裝docker CE說明:https://docs.docker.com/install/linux/docker-ce/centos/
centos7中文安裝docker CE說明https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/
Docker 軟件包和依賴包已經包含在默認的 CentOS-Extras 軟件源里,可以更新yum源選擇yum install的方法安裝,也可以選擇下載rpm安裝包
官方下載地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
您可以根據您的需要以不同的方式安裝Docker CE:
大多數用戶設置Docker的存儲庫并從中進行安裝,以便安裝和升級任務。這是推薦的方法。
有些用戶下載RPM軟件包并手動安裝,并完全手動管理升級。這對于在無法訪問互聯網的空隙系統上安裝Docker等情況很有用。
1.3使用wget 命令進行下載rpm包
創建一個downloads文件夾,然后使用wget命令進行下載
[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使用存儲庫進行安裝(推薦方法-不過國外存儲庫國內拉取很慢)
首次在新主機上安裝Docker CE之前,需要設置Docker存儲庫。之后,您可以從存儲庫安裝和更新Docker。
設置存儲庫
1.安裝所需的包。yum-utils
提供了yum-config-manager
效用,并device-mapper-persistent-data
和lvm2
由需要devicemapper
存儲驅動程序。
[root@sungeek ~]# yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2.使用以下命令設置stable的存儲庫。即使您想從edge或test存儲庫安裝構建,也總是需要stable的存儲庫。
[root@sungeek ~]# yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3.可選:啟用edge和test存儲庫。這些存儲庫包含在docker.repo
上面的文件中,但默認情況下處于禁用狀態。您可以將它們與穩定的存儲庫一起啟用。
[root@sungeek ~]# yum-config-manager --enable docker-ce-edge [root@sungeek ~]# yum-config-manager --enable docker-ce-test
您可以通過使用該標志運行命令來禁用edge或test存儲庫。要重新啟用它,請使用標志。以下命令禁用邊緣存儲庫。yum-config-manager
--disable
--enable
[root@sungeek ~]# yum-config-manager --disable docker-ce-edge
注意:從Docker 17.06開始,穩定版本也被推到edge并test版本庫。
安裝 DOCKER CE-----[我是把服務器設置了VPN才能拉取,國外資源訪問很慢經常超時]
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 鏡像倉庫以來您首次刷新軟件包索引,系統將提示您接受 GPG 密鑰,并且將顯示此密鑰的指紋。驗證指紋是否正確,并且在正確的情況下接受此密鑰。指紋應匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
。
2.安裝最新版本的 Docker CE,或者轉至下一步以安裝特定版本。
[root@sungeek ~]# yum install docker-ce
警告:如果您啟用了多個 Docker 鏡像倉庫,進行安裝 或者更新而不在yum install
或yum update
命令中指定版本將始終安裝可用的最高版本, 這可能無法滿足您的穩定性需求。
3.在生產系統中,您應該安裝特定版本的 Docker CE,而不是始終使用最新版本。列出可用版本。此示例使用sort -r
命令按版本號(從最高到最低)對結果進行排序,并且已被截斷。
注:此yum list
命令僅顯示二進制軟件包。如果還需要顯示 源軟件包,請從軟件包名稱中省略.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
返回的列表取決于啟用了哪些存儲庫,并且特定于您的CentOS版本(.el7
在此示例中由后綴指示)。
例如,通過完全限定的軟件包名稱(它是軟件包名稱(docker-ce
))和版本字符串(第2列)直到第一個連字符來安裝特定版本,并用連字符(-
)分隔docker-ce-18.03.0.ce
[root@sungeek ~]# yum install docker-ce-<VERSION> [root@sungeek ~]# yum install docker-ce-docker-ce-18.03.0.ce-1.el7.centos
升級 DOCKER CE
如需升級 Docker CE,首先運行yum makecache fast
,然后按照安裝說明執行操作,并選擇您要安裝的新版本。
說明:國內通過上面這個方法會顯示拉取超時,因為國外資源訪問很慢,經常會超時!
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 啟動Docker進程
[root@localhost downloads]# systemctl start docker [root@localhost downloads]# systemctl status docker [root@localhost downloads]# systemctl enable docker --設置開機自啟動docker服務
1.6驗證安裝是否成功
直接輸入docker列出該命令的用法
測試運行第一個容器:hello-world
由于本地沒有hello-world這個鏡像,所以會下載一個hello-world的鏡像,并在容器內運行。
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 :顯示所有的容器,包括未運行的。
2.3使用docker logs查看容器控制臺輸出
獲取容器的日志
docker logs [container]
2.4卸載docker
1.查詢安裝過的包
[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驗證是否卸載
[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.導入加載進來覺得不合適可以使用 docker rm 容器ID 、 docker rmi 鏡像ID 來刪掉。
移除所有的容器和鏡像:
還有更多的命令可以參考docker命令大全:http://edu.jb51.net/docker/docker-command-manual.html
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。