Docker 是一個開源的應用容器引擎,基於 Go 語言 並聽從Apache2.0協議開源。html
Docker 可讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。linux
容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app),更重要的是容器性能開銷極低。git
Web 應用的自動化打包和發佈。golang
自動化測試和持續集成、發佈。docker
在服務型環境中部署和調整數據庫或其餘的後臺應用。數據庫
Docker 讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,即可以實現虛擬化。Docker改變了虛擬化的方式,使開發者能夠直接將本身的成果放入Docker中進行管理。方便快捷已是 Docker的最大優點,過去須要用數天乃至數週的 任務,在Docker容器的處理下,只須要數秒就能完成。centos
若是你有選擇恐懼症,仍是資深患者。Docker 幫你打包你的糾結!好比 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,因此 Docker 能夠簡化部署多種應用實例工做。好比 Web 應用、後臺應用、數據庫應用、大數據應用好比 Hadoop 集羣、消息隊列等等均可以打包成一個鏡像部署。bash
一方面,雲計算時代到來,使開發者沒必要爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思惟定勢。Docker 與雲的結合,讓雲空間獲得更充分的利用。不只解決了硬件管理的問題,也改變了虛擬化的方式。app
Docker支持如下的CentOS版本:oop
目前,CentOS 僅發行版本中的內核支持 Docker。
Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。
個人操做系統版本:
您能夠根據您的須要以不一樣的方式安裝Docker CE,下面介紹兩種安裝方法:
大多數用戶設置Docker的存儲庫並從中進行安裝,以便安裝和升級任務。這是推薦的方法。
docker官方包下載地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
建立一個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
首次在新主機上安裝Docker CE以前,須要設置Docker存儲庫。以後,您能夠從存儲庫安裝和更新Docker。
較舊版本的Docker被稱爲docker或docker-engine。若是已安裝這些,請卸載它們以及相關的依賴項
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
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
4.2.更新 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
。
4.3.安裝最新版本的 Docker CE,或者轉至下一步以安裝特定版本。
[root@sungeek ~]# yum install docker-ce
警告:若是您啓用了多個 Docker 鏡像倉庫,進行安裝 或者更新而不在
yum install
或yum update
命令中指定版本將始終安裝可用的最高版本, 這可能沒法知足您的穩定性需求。
在生產系統中,您應該安裝特定版本的 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-18.03.0.ce-1.el7.centos
如需升級 Docker CE,首先運行yum makecache fast
,而後按照安裝說明執行操做,並選擇您要安裝的新版本。
[root@localhost downloads]# systemctl start docker [root@localhost downloads]# systemctl status docker
[root@localhost downloads]# systemctl enable docker --設置開機自啓動docker服務
直接輸入docker列出該命令的用法
測試運行第一個容器:hello-world
因爲本地沒有hello-world這個鏡像,因此會下載一個hello-world的鏡像,並在容器內運行。
[root@localhost downloads]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
[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 :顯示全部的容器,包括未運行的。
獲取容器的日誌
docker logs [container]
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 來刪掉。
移除全部的容器和鏡像:
[root@sungeek ~]# docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
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命令大全:http://www.runoob.com/docker/docker-command-manual.html