Docker入門

簡介:

??Docker是一個軟件容器平臺。容器可以在共享的操作系統上運行隔離的應用環(huán)境。與VM不同,容器不捆綁完整的操作系統,而是共享宿主機的系統內核和資源,只需提供應用軟件工作時所需的庫和配置。這使得docker可以做到高效,輕便,自包含的系統,并且應用將始終運行相同,無論它在哪里部署。

??開發(fā)人員使可以用Docker來消除相互之間代碼協作時的“works on my machine”問題。運營商可以使用Docker在隔離的容器中并行運行和管理應用程序,以獲得更好的計算密度。企業(yè)可以使用Docker構建靈活的軟件傳輸管道,可以更快,更安全地發(fā)布新功能。

??Docker底層基于Linux內核 2.4.19 版本開始包含的NameSpace機制,NameSpace是一種內核級別環(huán)境隔離機制。Docker底層使用libcontainer進行容器管理,使用pivot_root切換進程的根目錄。

??在Docker之前還有一種基于NameSpace的虛擬化工具LXC,LXC通過Cgroups進行資源管理,使用chroot進行根目錄的切換。其實早期Docker是在lxc上面封裝了一層并加入了aufs(Union File System)功能,在Docker 0.9.0 版本才引入了libcontainer 替代LXC進行底層容器管理。

docker

官網:https://www.docker.com/

容器虛擬化和主機虛擬化對比
docker
docker 的基本工作流程
docker

Docker應用場景:

web應用的自動化打包和發(fā)布;
自動化測試和持續(xù)集成、發(fā)布;
在服務型環(huán)境中部署和調整數據庫或其他的后臺應用;
從頭編譯或者擴展現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環(huán)境。

安裝

實驗主機系統平臺:CentOS 7.4

docker從2017年開始提供兩個版本,收費的商業(yè)版本Docker EE和免費的社區(qū)版本Docker CE(moby)。

可以訪問下面的鏈接獲取docker相關版本的安裝說明:

https://store.docker.com/search?offering=community&q=&type=edition

Docker官方的安裝腳本

curl -fsSL get.docker.com -o get-docker.sh
bash get-docker.sh

也可以使用Linux系統的包管理器進行安裝,本文使用centos 提供的docker版本,在extras倉庫中提供了docker 1.12.6的安裝包。這個版本較老是在docker商業(yè)化之前的版本。

[root@localhost ~]# yum -y install docker       #安裝docker,需要確保extras倉庫已開啟。
[root@localhost ~]# docker -v                   #查看當前的docker版本。
Docker version 1.12.6, build c4618fb/1.12.6
[root@localhost ~]# systemctl start docker      #啟動
docker文件

/etc/docker/daemon.json
/etc/sysconfig/docker-network       啟動配置文件
/etc/sysconfig/docker-storage       啟動配置文件
/etc/sysconfig/docker-storage-setup 啟動配置文件
/usr/bin/docker-containerd-current
/usr/bin/docker-containerd-shim-current
/usr/bin/docker-ctr-current
/usr/bin/docker-storage-setup
/usr/bin/dockerd-current                #docker主程序
/usr/lib/systemd/system/docker-cleanup.service
/usr/lib/systemd/system/docker-cleanup.timer
/usr/lib/systemd/system/docker-storage-setup.service
/usr/lib/systemd/system/docker.service
/usr/lib/udev/rules.d/80-docker.rules
/usr/libexec/docker/docker-proxy-current
/usr/libexec/docker/docker-runc-current

下載鏡像

docker的官方鏡像站:Docker Hub

image.png
image.png
image.png
image.png
在主機上下載鏡像,如果下載時不寫標簽名默認下載latest版本
[root@localhost ~]# docker pull centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ... 
latest: Pulling from docker.io/library/centos
d9aaf4d82f24: Pull complete 
Digest: sha256:eba772bac22c86d7d6e72421b4700c3f894ab6e35475a34014ff8de74c10872e
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,876評論 15 147
  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,772評論 0 120
  • Docker入門 Docker命令官方示例 [toc] 1. Docker架構 1.1 Docker鏡像與Dock...
    CaiGuangyin閱讀 1,965評論 2 6
  • 1.1 容器技術 Linux 容器技術很早就有了,比較有名的是被集成到主流 Linux 內核中的 LXC 項目。容...
    夸克星閱讀 371評論 0 0
  • 早就聽說了docker,但是就是不知道它是干什么的,能用來干什么。如今它越來越強大,我也得跟上。先大體普及下吧。 ...
    進擊的小鹿閱讀 312評論 0 1

友情鏈接更多精彩內容