1、Docker介紹linux
一、docker介紹
git
Docker 是一個開源的應用容器引擎,基於 Go 語言 並聽從Apache2.0協議開源。docker
Docker 可讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。數據庫
容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app),更重要的是容器性能開銷極低。centos
二、docker應用場景服務器
>Web 應用的自動化打包和發佈。微信
>自動化測試和持續集成、發佈。架構
>在服務型環境中部署和調整數據庫或其餘的後臺應用。app
>從頭編譯或者擴展示有的OpenShift或Cloud Foundry平臺來搭建本身的PaaS環境。ide
三、Docker的優勢
一、更快的交付和部署:
使用docker 開發人員可使用鏡像來快速構建一套標準的開發環境;開發完成以後,測試和原味人員能夠直接使用徹底相同的環境來部署代碼,只要開發測試過的代碼,就能夠確保在生產環境無縫運行。docker能夠快速建立和刪除容器,實現快速迭代,大量節約開發、測試、部署的時間
二、更高效的資源利用:
docker 容器底層的管理程序支持,他是內核級的虛擬化,能夠實現更高級的性能,同事對資源的額外需求很低
3、更輕鬆的遷移和擴展:
docker容器幾乎能夠再任意的平臺上運行,包括物理機、虛擬機、公有云、私有云、我的電腦、服務器等,同事支持主流的操做系統發行版本。這種兼容性讓用戶能夠再不一樣平臺之間輕鬆地遷移應用
四、對比KVM
docker容器很快,啓動和中止能夠再秒級實現,而傳統的虛擬機須要數分鐘
docker容器對系統資源需求不多,一臺主機上能夠同時運行數百甚至上千個docker容器
docker 經過相似於git的設計理念的操做來方便用戶獲取、分發和更新應用鏡像,存儲複用,增量更新
docker經過dockerfile支持靈活的自動化建立和部署機制,提升工做效率,使流程標準化
五、docker的特性
Docker的三大特性爲BUILD(構建)、SHIP(運輸)、RUN(運行)。(一次構建多處運行,像不像JAVA呢)。docker是傳統的CS架構分爲docker client和docker server,主要分爲三大組件 鏡像(image)、容器(container)、倉庫(Repository)。
2、安裝docker
安裝官方文檔介紹,進行安裝 https://docs.docker.com
centos爲例安裝ce社區辦,若是是在centos7版本如下的,不能安裝ce,只能安裝其餘的舊版本。
一、操做系統
centos7
二、卸載老版本
$sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
三、安裝第三方庫
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
四、安裝docker-ce
yum install docker-ce
五、啓動docker
$ sudo systemctl start docker
六、測試hello world
sudo docker run hello-world [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dde0582befd3 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago lucid_jang