Docker是一個開源的應用容器引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。利用Linux的LXC、AUFS、Go語言、cgroup實現了資源的獨立,可以很輕松的實現文件、資源、網絡等隔離,其最終的目標是實現類似PaaS平台的應用隔離。
Docker值得關注的特性:
-
-
文件系統隔離:每個進程容器運行在一個完全獨立的根文件系統里。
-
資源隔離:系統資源,像CPU和內存等可以分配到不同的容器中,使用cgroup。
-
網絡隔離:每個進程容器運行在自己的網絡空間,虛擬接口和IP地址。
-
日志記錄:Docker將會收集和記錄每個進程容器的標准流(stdout/stderr/stdin),用於實時檢索或批量檢索。
-
變更管理:容器文件系統的變更可以提交到新的映像中,並可重復使用以創建更多的容器。無需使用模板或手動配置。
-
交互式shell:Docker可以分配一個虛擬終端並關聯到任何容器的標准輸入上,例如運行一個一次***互shell。
-
Docker通常用於如下場景:
-
-
web應用的自動化打包和發布;
-
自動化測試和持續集成、發布;
-
在服務型環境中部署和調整數據庫或其他的后台應用;
-
從頭編譯或者擴展現有的OpenShift或Cloud Foundry平台來搭建自己的PaaS環境。
-
我這里用的是CentOS6.8。
注意:其他的源可能導致你的內核和docker的版本不一致,需要升級內核至3.x。
安裝:
1 [root@localhost ~]# rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 2 Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 3 warning: /var/tmp/rpm-tmp.JN76fI: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 4 Preparing... ########################################### [100%] 5 1:epel-release ########################################### [100%] 6 [root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 7 8 [root@localhost ~]# yum -y install docker-io 9 10 啟動並設置開機自動啟動 11 12 [root@localhost ~]# service docker start 13 Starting cgconfig service: [確定] 14 Starting docker: [確定] 15 [root@localhost ~]# chkconfig docker on
獲取centos鏡像
[root@localhost ~]# docker pull hub.c.163.com/public/centos:6.7
官方安裝方式docker pull imagename從docker的索引中心下載,imagename是鏡像名稱,例如docker pull
Ubuntu就是下載base ubuntu並且tag是latest。
由於國內訪問直接訪問Docker hub網速比較慢,拉取鏡像的時間就會比較長。一般我們會使用鏡像加速或者直接從國內的一些平台鏡像倉庫上拉取。
列出兩個常用的:
網易鏡像中心:https://c.163.com/hub#/m/home/
daocloud鏡像市場:https://hub.daocloud.io/
查看docker鏡像


運行docker運行shell

查看容器信息
停止容器
[root@localhost ~]# docker stop <CONTAINER ID>
刪除容器(docker rm):
docker ps -a #獲取容器name docker rm container_name
刪除所有容器
docker rm $(docker ps -a -q)
剛接觸。