摘要:至于很具體的操作指令,比如怎么安裝,怎么和來(lái)跑一個(gè)簡(jiǎn)單的,請(qǐng)參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門(mén)教程系列簡(jiǎn)明教程使用演示中文系列資源從入門(mén)到實(shí)踐作者更多文章個(gè)人網(wǎng)站
docker入門(mén)概覽
標(biāo)簽 : docker
[TOC]
本文對(duì)docker進(jìn)行大致介紹,包括概述,安裝,簡(jiǎn)單使用,架構(gòu),基本原理等方面
寫(xiě)在前面本文是自己學(xué)習(xí)docker的一個(gè)記錄和整理,啃英文文檔挺吃力的,懶得翻譯,所以寫(xiě)這篇類似“索引”的文章,希望能幫助和我一樣的新手快速入門(mén)
本文主要參考官方文檔(Docker Document)和相關(guān)技術(shù)博客
如果有理解有誤的地方還望不吝指正
概述 什么是Docker?可以參考下面三篇文章。從我使用的感受來(lái)看,我覺(jué)得Docker就是一個(gè)應(yīng)用打包工具,把寫(xiě)好的應(yīng)用用docker打包發(fā)布,然后別人就可以直接部署使用了,特別方便。
Docker是什么
理解Docker
What is Docker?(譯文)
什么是Docker Engine?Docker Engine is a client-server application with these major components:
A server which is a type of long-running program called a daemon process.
A REST API which specifies interfaces that programs can use to talk to the daemon and instruct it what to do.
A command line interface (CLI) client.
我覺(jué)得官網(wǎng)的解釋很言簡(jiǎn)意賅,附上圖(摘自官網(wǎng))
Docker的用處Faster delivery of your applications
Deploying and scaling more easily
Achieving higher density and running more workloads
安裝安裝參考Install Docker Engine
Ubuntu以u(píng)buntu 14.04 為例,參考Installation on Ubuntu安裝Docker engine
這里列出重要的步驟:
更新apt源,包括添加證書(shū),密鑰等
用sudo apt-get安裝
進(jìn)一步配置,主要是創(chuàng)建docker用戶組
注 :如果輸入docker info出問(wèn)題,多半是權(quán)限問(wèn)題,以sudo運(yùn)行試試
Mac OS XMac下安裝參考Installation on Mac OS X
Mac下有兩種安裝方式供選
Docker for Mac : Mac的原生應(yīng)用,沒(méi)有使用虛擬機(jī)(VirtualBox),而是使用的HyperKit
Docker Toolbox : 會(huì)安裝虛擬機(jī),使用docker-machine來(lái)運(yùn)行boot2docker 和Docker Engine
兩者的區(qū)別請(qǐng)參考 Docker for Mac vs. Docker Toolbox
演示先不多說(shuō),跑起來(lái)體驗(yàn)下。具體的步驟和指令在Docker簡(jiǎn)明教程這篇文章已經(jīng)寫(xiě)得很清楚了,在此不再贅述
架構(gòu)和原理由上圖可知,docker是一個(gè)client-server架構(gòu)
The Docker daemon : 運(yùn)行在主機(jī)上
The Docker client : 用戶和dokcer daemon交互的接口
docker的內(nèi)部主要有三種資源/組件
docker images : build component,只可讀
docker registries : distribution component,images共享庫(kù)
docker containers : run component
這里重點(diǎn)說(shuō)說(shuō)images and containers
Docker使用union file systems 把不同的層(layer)做整合成單一的image. Union File System的中一種是AUFS,可以參考這篇博文
官網(wǎng)文檔對(duì)image的layers是這么描述的
Each Docker image references a list of read-only layers that represent filesystem differences. Layers are stacked on top of each other to form a base for a container’s root filesystem
新版docker(version>=1.10)的存儲(chǔ)模型有變化
Previously, image and layer data was referenced and stored using a randomly generated UUID. In the new model this is replaced by a secure content hash.
而container和image的主要區(qū)別就在于top writable layer,所有對(duì)image的更改都保存在這一層。換句話說(shuō),多個(gè)container可以共享同一個(gè)image,這就大大節(jié)省了空間。實(shí)現(xiàn)image和container的管理有兩個(gè)關(guān)鍵的技術(shù):stackable image layers 和 copy-on-write (CoW).
從圖中可以看出,copy-on-write (CoW)是一個(gè)很好的策略,既節(jié)省了空間,又避免了因數(shù)據(jù)共享帶來(lái)的寫(xiě)沖突問(wèn)題,從而提高效率。
結(jié)語(yǔ)本文主要對(duì)docker做簡(jiǎn)單介紹,對(duì)于一些更詳細(xì)的知識(shí),如docker file,volume,network,docker compose等等,會(huì)另寫(xiě)文章進(jìn)行介紹。至于很具體的操作指令,比如怎么安裝,怎么build image和run container來(lái)跑一個(gè)簡(jiǎn)單的docker hello world,請(qǐng)參考官方文檔Docker Engine部分的“get started with docker”或者"learn by example",也可參考文末的一些參考資料
參考資料Docker Documentation(官方文檔)
Docker入門(mén)教程(系列)
Docker簡(jiǎn)明教程(使用演示)
docker中文(系列)
docker資源
docker-從入門(mén)到實(shí)踐(gitbook)
作者@brianway更多文章:個(gè)人網(wǎng)站 | CSDN | oschina
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26657.html
摘要:編程書(shū)籍的整理和收集最近一直在學(xué)習(xí)深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后也找了很多的書(shū)和文章,隨著不斷的學(xué)習(xí),也整理了下自己的學(xué)習(xí)筆記準(zhǔn)備分享出來(lái)給大家后續(xù)的文章和總結(jié)會(huì)繼續(xù)分享,先分享一部分的 編程書(shū)籍的整理和收集 最近一直在學(xué)習(xí)deep learning深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后...
摘要:基本入門(mén)前端掘金作者本文屬于翻譯文章,原文鏈接為。如果如何把應(yīng)用放在容器中運(yùn)行掘金本文適合零基礎(chǔ),且希望使用運(yùn)行應(yīng)用的人士。后端掘金使用構(gòu)建網(wǎng)站。 nginx 基本入門(mén) - 前端 - 掘金作者:villainthr 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見(jiàn)過(guò)最好的 nginx 入門(mén)文章。額。。。沒(méi)有之一。 這篇教程簡(jiǎn)單介紹了 nginx ...
閱讀 2399·2021-10-11 10:59
閱讀 2655·2021-10-11 10:58
閱讀 3364·2021-09-08 09:35
閱讀 3940·2021-09-02 15:21
閱讀 1536·2019-08-30 15:53
閱讀 2681·2019-08-29 14:16
閱讀 2130·2019-08-26 14:00
閱讀 3015·2019-08-26 13:52