摘要:至于很具體的操作指令,比如怎么安裝,怎么和來跑一個簡單的,請參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門教程系列簡明教程使用演示中文系列資源從入門到實踐作者更多文章個人網站
docker入門概覽
標簽 : docker
[TOC]
本文對docker進行大致介紹,包括概述,安裝,簡單使用,架構,基本原理等方面
寫在前面本文是自己學習docker的一個記錄和整理,啃英文文檔挺吃力的,懶得翻譯,所以寫這篇類似“索引”的文章,希望能幫助和我一樣的新手快速入門
本文主要參考官方文檔(Docker Document)和相關技術博客
如果有理解有誤的地方還望不吝指正
概述 什么是Docker?可以參考下面三篇文章。從我使用的感受來看,我覺得Docker就是一個應用打包工具,把寫好的應用用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.
我覺得官網的解釋很言簡意賅,附上圖(摘自官網)
Docker的用處Faster delivery of your applications
Deploying and scaling more easily
Achieving higher density and running more workloads
安裝安裝參考Install Docker Engine
Ubuntu以ubuntu 14.04 為例,參考Installation on Ubuntu安裝Docker engine
這里列出重要的步驟:
更新apt源,包括添加證書,密鑰等
用sudo apt-get安裝
進一步配置,主要是創(chuàng)建docker用戶組
注 :如果輸入docker info出問題,多半是權限問題,以sudo運行試試
Mac OS XMac下安裝參考Installation on Mac OS X
Mac下有兩種安裝方式供選
Docker for Mac : Mac的原生應用,沒有使用虛擬機(VirtualBox),而是使用的HyperKit
Docker Toolbox : 會安裝虛擬機,使用docker-machine來運行boot2docker 和Docker Engine
兩者的區(qū)別請參考 Docker for Mac vs. Docker Toolbox
演示先不多說,跑起來體驗下。具體的步驟和指令在Docker簡明教程這篇文章已經寫得很清楚了,在此不再贅述
架構和原理由上圖可知,docker是一個client-server架構
The Docker daemon : 運行在主機上
The Docker client : 用戶和dokcer daemon交互的接口
docker的內部主要有三種資源/組件
docker images : build component,只可讀
docker registries : distribution component,images共享庫
docker containers : run component
這里重點說說images and containers
Docker使用union file systems 把不同的層(layer)做整合成單一的image. Union File System的中一種是AUFS,可以參考這篇博文
官網文檔對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)的存儲模型有變化
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,所有對image的更改都保存在這一層。換句話說,多個container可以共享同一個image,這就大大節(jié)省了空間。實現(xiàn)image和container的管理有兩個關鍵的技術:stackable image layers 和 copy-on-write (CoW).
從圖中可以看出,copy-on-write (CoW)是一個很好的策略,既節(jié)省了空間,又避免了因數據共享帶來的寫沖突問題,從而提高效率。
結語本文主要對docker做簡單介紹,對于一些更詳細的知識,如docker file,volume,network,docker compose等等,會另寫文章進行介紹。至于很具體的操作指令,比如怎么安裝,怎么build image和run container來跑一個簡單的docker hello world,請參考官方文檔Docker Engine部分的“get started with docker”或者"learn by example",也可參考文末的一些參考資料
參考資料Docker Documentation(官方文檔)
Docker入門教程(系列)
Docker簡明教程(使用演示)
docker中文(系列)
docker資源
docker-從入門到實踐(gitbook)
作者@brianway更多文章:個人網站 | CSDN | oschina
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/26657.html
摘要:編程書籍的整理和收集最近一直在學習深度學習和機器學習的東西,發(fā)現(xiàn)深入地去學習就需要不斷的去提高自己算法和高數的能力然后也找了很多的書和文章,隨著不斷的學習,也整理了下自己的學習筆記準備分享出來給大家后續(xù)的文章和總結會繼續(xù)分享,先分享一部分的 編程書籍的整理和收集 最近一直在學習deep learning深度學習和機器學習的東西,發(fā)現(xiàn)深入地去學習就需要不斷的去提高自己算法和高數的能力然后...
摘要:基本入門前端掘金作者本文屬于翻譯文章,原文鏈接為。如果如何把應用放在容器中運行掘金本文適合零基礎,且希望使用運行應用的人士。后端掘金使用構建網站。 nginx 基本入門 - 前端 - 掘金作者:villainthr 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見過最好的 nginx 入門文章。額。。。沒有之一。 這篇教程簡單介紹了 nginx ...
閱讀 2335·2021-10-11 10:59
閱讀 2613·2021-10-11 10:58
閱讀 3320·2021-09-08 09:35
閱讀 3824·2021-09-02 15:21
閱讀 1472·2019-08-30 15:53
閱讀 2625·2019-08-29 14:16
閱讀 2082·2019-08-26 14:00
閱讀 2965·2019-08-26 13:52