1. 程式人生 > >Docker 的簡介及安裝

Docker 的簡介及安裝

前言

現在開始打算入坑Docker,因為要用到Docker,所以現在開始記錄下學習Docker的過程,方便自己翻閱,大多數都是根據 “Docker從入門到實踐” 這本書整理的。

什麼是Docker

Docker是一個開源的應用容器引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。誕生於2013年初,最初是dotCloud公司內部的一個業餘專案。基於Go語言並遵從Apache2.0協議開源。Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。

Docker的優點

1.更快速的交付和部署

開發者可以使用一個標準的映象來構建一套開發容器,開發完成之後,運維人員可以直接使用這個容器來 部署程式碼。Docker可以快速建立容器,快速迭代應用程式,並讓整個過程全程可見,使團隊中的其他成員 更容易理解應用程式是如何建立和工作的。Docker容器很輕很快!容器的啟動時間是秒級的,大量地節約 開發、測試、部署的時間。

2.更高效的虛擬化

Docker容器的執行不需要額外的hypervisor支援,它是核心級的虛擬化,因此可以實現更高的效能和效 率。

3.更輕鬆的遷移和擴充套件

Docker容器幾乎可以在任意的平臺上執行,包括物理機、虛擬機器、公有云、私有云、個人電腦、伺服器等。這種相容性可以讓使用者把一個應用程式從一個平臺直接遷移到另外一個。

4.更簡單的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分發和 更新,從而實現自動化並且高效的管理
這裡寫圖片描述

基本概念

Docker包括三個基本概念

映象(Image)

容器(Container)

倉庫(Repository)

Docker映象

Docker映象就是一個只讀的模板

映象可以用來建立Docker容器。

Docker提供了一個很簡單的機制來建立映象或者更新現有的映象,使用者甚至可以直接從其他人那裡下載一個已經做好的映象來直接使用。

Docker容器

Docker 利用容器來執行應用。

容器是從映象建立的執行例項。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。

可以把容器看做是一個簡易版的Linux環境(包括root使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式。

*注:映象是隻讀的,容器在啟動的時候建立一層可寫層作為最上層。

Docker倉庫

倉庫分為公開倉庫(Public)私有倉庫(Private)兩種形式。

最大的公開倉庫是Docker Hub,存放了數量龐大的映象供使用者下載。國內的公開倉庫包括Docker Pool 等,可以提供大陸使用者更穩定快速的訪問。當然我們也可以在本地建立一個私有倉庫。

倉庫是集中存放映象檔案的場所。有時候會把倉庫倉庫註冊伺服器(Registry)混為一談,並不嚴格區分。實際上,倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的 標籤(tag)。

當用戶建立了自己的映象之後就可以使用push命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺 機器上使用這個映象時候,只需要從倉庫上pull下來就可以

*注:Docker倉庫的概念跟Git類似,註冊伺服器可以理解為GitHub這樣的託管服務。

Docker安裝

因為我用的是CentOS,所以在這裡只記錄CentOS7下Docker的安裝方法

CentOS7安裝Docker

目前,CentOS 僅發行版本中的核心支援 Docker。

Docker 執行在 CentOS 7 上,要求系統為64位、系統核心版本為 3.10 以上。

以下#代表在root許可權下,如果不是root許可權,在命令前面加上sudo

首先使用uname -r檢視Linux核心資訊,如果滿足條件的話就可以進行下一步安裝了

# yum install docker

安裝之後啟動Docker服務,並讓它隨系統啟動自動載入。

# service docker start 
# chkconfig docker on

映象加速

然後因為在docker官網下東西會比較慢,我們可以配置加速器來解決

Linux 下: 找到 /etc/docker/daemon.json(沒有就建立一個daemon.json檔案)

使用網易的映象地址:http://hub-mirror.c.163.com

獲取映象

可以使用docker pull命令來從倉庫獲取所需要的映象。

# docker pull ubuntu:12.04 

獲取一個Ubuntu 12.04作業系統的映象

下載過程中,會輸出獲取映象的每一層資訊。

該命令實際上相當於# docker pull registry.hub.docker.com/ubuntu:12.04命令,即從註冊伺服器registry.hub.docker.com中的ubuntu倉庫來下載標記為12.04的映象。

官方註冊伺服器下載的比較慢,也可以從別人的倉庫下載,但是需要指定完整路徑的倉庫註冊伺服器地址

完成後,即可隨時使用該映象了,例如建立一個容器,讓其中執行bash應用。

# docker run -t -i ubuntu:12.04 /bin/bash 

這裡寫圖片描述

使用exit退出容器
列出本地映象

docker images

這裡寫圖片描述
在列出資訊中,可以看到幾個欄位資訊

來自於哪個倉庫,比如ubuntu 
映象的標記,比如12.04 
它的ID號(唯一) 
建立時間 
映象大小

其中映象的ID唯一標識了映象,TAG 資訊用來標記來自同一個倉庫的不同映象

指定使用映象ubuntu:12.04來啟動一個容器
這裡寫圖片描述
如果不指定具體的標記,則預設使用latest標記資訊。

自此CentOS7下的Docker就安裝完成了

相關推薦

(1)Docker簡介安裝

目錄 1、Docker簡介 1.1、什麼是虛擬化 1.2、什麼是Docker 1.3 容器與虛擬機器比較 1.4、Docker 元件 1.4.1、Docker伺服器與客戶端 1.4.2、Docker映象與容器 1.4.3、Registry(註冊中心) 2、Dock

Docker系列(一)Docker簡介安裝

一、Docker簡介 Docker是一個開源的容器引擎,它有助於更快地交付應用。Docker可將應用程式和基礎設施隔離,並且能將基礎設施當作程式一樣進行管理。使用Docker,可更快地打包、測試以及部署應用程式,並可以縮短從編寫到部署執行程式碼的週期。 Do

docker學習筆記(一)——docker簡介安裝

最近在學習docker,決定把學習及動手實踐的過程記錄下來。 本系列教程根據大講臺—Docker最佳實戰整理 1. 什麼是docker Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Goo

Docker基礎篇1:簡介安裝

1、Docker簡介       Docker是一個開源的應用容器引擎,使用Go語言開發,基於Linux核心的cgroup,namespace,Union FS等技術,對應用程序進行封裝隔離,並且獨立於宿主機與其他程序,這種執行時封裝的狀態稱為容器。Docker理念

docker簡介使用國內映象源安裝docker

一、docker簡介docker是一種輕量級虛擬化技術,它基於Linux Container,使用AUFS,(Union File System),是dotCloud公司提供的一種跨平臺、可移植的容器解決方案,dotCloud最初於2013年釋出,近幾年發展速度很快。與傳統

Docker簡介安裝

前言 現在開始打算入坑Docker,因為要用到Docker,所以現在開始記錄下學習Docker的過程,方便自己翻閱,大多數都是根據 “Docker從入門到實踐” 這本書整理的。 什麼是Docker Docker是一個開源的應用容器引擎,可以輕鬆的為任何

maven 之maven簡介安裝

分享 運行 項目信息 ava 信息 專家 not 編碼 bin 1. maven:行內,專家。基於java的項目構建功能,依賴管理,項目信息管理,Maven是一個項目構建工具。 2.構建:指日常開發中經常完成的除了編碼外的一些動作。如:清理,編譯,測試,運行,報告,部署等動

【轉】Nodejs學習筆記(一)--- 簡介安裝Node.js開發環境

ack 目錄 javascrip 難度 時間 網站開發 clas jetbrains 常用 目錄 學習資料 簡介 安裝Node.js npm簡介 開發工具 Sublime Node.js開發環境配置 擴展:安裝多版本管理器 學習資料   1.深入淺出Node.j

linux簡介安裝

linux1.簡介 誕生於1991年10月5日 linux是類Unix操作系統,基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。 支持32位和64位硬件,繼承了Unix以網絡為核心的設計思想。 創始人:林納斯·托瓦茲(Linus Benedict Torvalds) 特點:

Libcap的簡介安裝

pca apt-get 以太網 當前 upd 監控 提示 文件 wall Libpcap 簡介 libpcap 是unix/linux 平臺下的網絡數據包捕獲函數包,   大多數網絡監控軟件都以它為基礎。   Libpcap 可以在絕大多數類unix 平臺下工作.   Li

國際版Azure搭建Windows多種類型VPN_一.簡介安裝服務

azure vpn 很多時候我們需要一個穩定安全而且多種類型的VPN,以下是本次實驗的拓撲圖,實現SSTP和L2TP VPN。SSTP需要證書SSL來實現,而L2TP則是通過密鑰共享來實現(此連接方法適合與移動設備,不過安全性不夠SSTP好)。一.Azure 創建虛擬機登錄國際版Azure:htt

Docker簡介安裝

itl 標準 size 文件的 mar 一個 style 系統管理 ati Docker簡介與安裝(一) 1 簡介(1)docker是什麽?Docker 的英文本意是“搬運工”,在程序員的世界裏, Docker 搬運的是集裝箱(Container),docker 是一種用

大數據筆記(二十七)——Spark Core簡介安裝配置

sin cli sca follow com clu 同時 graphx 信息 1、Spark Core: 類似MapReduce 核心:RDD 2、Spark SQL: 類似Hive,支持SQL 3、Spark Streaming:類似

Docker簡介安裝(一)

TP width Go src apache container 資源利用率 代碼托管 docker Docker簡介 Docker 是 Docker.Inc 公司開源的一個基於 LXC技術之上構建的Container容器引擎, 源代碼托管在 GitHub 上, 基於Go

Sqoop簡介安裝部署

cdh5 ive not 簡介 ins one generate and lin 簡介: Apache Sqoop是專為Apache Hadoop和結構化數據存儲如關系數據庫之間的數據轉換工具的有效工具。你可以使用Sqoop從外部結構化數據存儲的數據導入到Hadoop分布

Apache Flume簡介安裝部署

display 根據 buffers type hello headers agent tran 結構圖 概述 Flume 是 Cloudera 提供的一個高可用的,高可靠的,分布式的海量日誌采集、聚合和傳輸的軟件。 Flume 的核心是把數據從數據源(source)收集

python簡介安裝

結構 特色 ofo $path .py 訪問 查看 二進制 程序開發 Python 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構

zookeeper簡介安裝

get image html 官網 進一步 ima enc 成員 nco 1. Zookeeper簡介 1.1 概念zookeeper是一個維護配置信息、命名、提供分布式同步的集中式服務(也就是說主要用於分布式應用程序中)。它是一個分布式的協調服務。集群中節點個數最少是

nginx高性能WEB服務器系列之一簡介安裝

簡單的 使用 line 都是 hash 設置 figure request cor 註:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。 nginx的強大之處不必要我細說,當初第一次接觸nginx的時候就發現了它的強

Docker系列:第一講.Docker簡介安裝

安裝 -- docker-ce 資源 terminal 輸入 英文 docke 技術支持 什麽是 Docker? Docker的英文翻譯是“搬運工”的意思,他搬運的東西就是我們常說的集裝箱Container,Container 裏面裝的是任意類型的 App,我們的開發人員可