1. 程式人生 > >docker學習筆記(一)——docker簡介及安裝

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

最近在學習docker,決定把學習及動手實踐的過程記錄下來。
本系列教程根據大講臺—Docker最佳實戰整理

1. 什麼是docker

Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Google 公司推出的 Go 語言實現。 專案後來加入了 Linux 基金會,遵從了 Apache 2.0 協議,專案程式碼在 GitHub 上進行維護。

Docker 自開源後受到廣泛的關注和討論,以至於 dotCloud 公司後來都改名為 Docker Inc。Redhat 已經在其 RHEL6.5 中集中支援 Docker;Google 也在其 PaaS 產品中廣泛應用。

Docker的主要目標:
通過對應用元件的封裝、分發、部署、執行等生命週期的管理,達到應用級別的一次封裝,到處執行;
小貼士:這裡的應用元件,可以是WEB應用,也可以是一套資料庫服務,甚至可以是一個作業系統編譯器。

2. 為什麼使用docker

Docker容器虛擬化的優點:
環境隔離:
通過cgroups和namesapce進行實現資源隔離,實現一臺機器執行多個容器互不影響。

更快速的交付部署:
使用docker,開發人員可以利用映象快速構建一套標準的研發環境;開發完成後,測試和運維人員可以直接通過使用相同的環境來部署程式碼。Docker可以快速建立和刪除容器,實現快速迭代,大量節約開發、測試、部署的時間。並且,各個步驟都有明確的配置和操作,整個過程全程課件,使團隊裡更容易理解應用建立和工作的過程。

更高效的資源利用:
docker容器的執行不需要額外的虛擬化管理程式的支援,它是核心級的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。

更易遷移擴充套件:
docker容器幾乎可以在任意的平臺上執行,包括烏力吉、虛擬機器、公有云、私有云、個人電腦、伺服器等,這種相容性讓使用者可以在不同平臺之間輕鬆的遷移應用。

更簡單的更新管理:
使用Dockerfile,只需要小小的配置修改,就可以替代以往的大量的更新工作。並且所有修改都是以增量的方式進行分發和更新,從而實現自動化和高效的容器管理。

3. docker的安裝

環境介紹:
作業系統:CentOS 7.4 64bit

安裝步驟
安裝準備:
要求: 核心版本最低為3.10
檢視當前核心版本: uname -r
這裡寫圖片描述
通過yum方式安裝docker:

第一步:更新yum源:

sudo yum update

第二步:增加docker的yum源:
輸入命令:

sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'

輸入:

  [dockerrepo] 
  name=Docker Repository 
  baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ 
  gpgcheck=1 
  gpgkey=https://yum.dockerproject.org/gpg 
  EOF 

這樣我們就添加了yum源,如圖:
這裡寫圖片描述
可以通過命令:

sudo vi /etc/yum.repos.d/docker.repo 

進行檢視:
這裡寫圖片描述

第三步:通過yum安裝docker

sudo yum install docker-engine

這裡寫圖片描述

第四步:啟動docker服務

sudo service docker start

第五步:檢視版本資訊,通過測試用例驗證docker是否安裝成功

驗證docker版本:

sudo docker version

這裡寫圖片描述
測試:

sudo docker run hello-world

這裡寫圖片描述
hello-world是docker官方提供的一個容器,如果你也能看到圖中類似的輸出內容說明你也安裝成功了。

4. docker的配置

以上的命令如果不用root使用者執行一定要記得加上sudo,當然我們也可以通過配置實現非root使用者不加sudo直接執行命令。

建立docker使用者組:

sudo groupadd docker

增加當前使用者到docker分組:

sudo usermod -aG docker xxx    (xxx為你的普通使用者名稱字)

驗證在不使用sudo的情況下docker是否正常工作:

docker run hello-world

設定docker開機啟動

sudo chkconfig docker on

docker解除安裝

檢視安裝包

yum list installed | grep docker

移除安裝包:

sudo yum -y remove docker-engine.x86_64

清除所有docker依賴檔案

rm -rf /var/lib/docker

刪除使用者建立的配置檔案

5. Docker的核心概念

Docker核心概念之映象:
Docker 映象就是一個只讀的模板。
例如:一個映象可以包含一個完整的 ubuntu 作業系統環境,裡面僅安裝了 Apache 或使用者需要的其它應用程式。
映象可以用來建立 Docker 容器。
建立Docker映象有幾種方式,多數是在一個現有映象基礎上建立新映象,因為幾乎你需要的任何東西都有了公共映象,包括所有主流Linux發行版,你應該不會找不到你需要的映象。不過,就算你想從頭構建一個映象,也有好幾種方法。
要建立一個映象,你可以拿一個映象,對它進行修改來建立它的子映象 。

Docker核心概念之容器:
Docker 利用容器來執行應用。
容器是從映象建立的執行例項。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。
可以把容器看做是一個簡易版的 Linux 環境(包括root使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式。
注:映象是隻讀的,容器在啟動的時候建立一層可寫層作為最上層。

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

這裡寫圖片描述

相關推薦

docker學習筆記——docker簡介安裝

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

docker學習筆記—— ubuntu16.04下安裝docker

本文開發環境為Ubuntu 16.04 LTS 64位系統,通過apt的docker官方源安裝最新的Docker CE(Community Edition),即Docker社群版,是開發人員和小型團隊的理想選擇。 開始安裝 由於apt官方庫裡的docker版本可能比較舊,

Docker 學習筆記 docker特點應用場景

 在我們討論Docker的使用場景之前,先來看看Docker這個工具有什麼特別的地方吧。 Docker提供了輕量級的虛擬化,它幾乎沒有任何額外開銷,這個特性非常酷。 首先你在享有Docker帶來的虛擬化能力的時候無需擔心它帶來的額外開銷。其次,相比於虛擬機器,你可以在

DockerDocker學習筆記Docker基礎

1 Docker簡介 開發語言:Go 性質:作業系統層面的虛擬化技術 Docker 和傳統虛擬化方式的區別: 傳統虛擬機器技術是虛擬出一套硬體後,在其上執行一個完整作業系統,在該系統上再執行所需應用程序 容器內的應用程序直接運行於宿主的核心,

Docker學習筆記:Docker的三個基本概念

Docker 包括三個基本概念 映象(Image)容器(Container)倉庫(Repository)理解了這三個概念,就理解了 Docker 的整個生命週期。 映象Image Docker 映象就是一個只讀的模板。 例如:一個映象可以包含一個完整的 ubuntu 作業系

Docker學習筆記docker介紹相關概念

除此之外,但從應用使用者的角度,docker也為我們帶來了極大地便利。例如,當我們在學習類似apache、nginx這類伺服器應用的時候,我們在對比學習的時候可能要在一臺機器上一個一個地進行搭建,還要進行埠的分配,資料庫配置,網站路徑設定等等一系列複雜的操作。但是通過Docker,我們只需要幾條簡單的命令,就

Docker學習筆記-docker安裝

前言 最近一年,斷斷續續學習了一些docker的知識,現在準備總結一下docker的知識,主要包括docker的使用,會用了之後再學習一下docker的原理,特此記錄學習過程。 Docker的安裝 1.mac下安裝 開啟官網往下拉,選擇Doc

Docker學習筆記

圖片 學習 技術分享 宿主機 -s httpd ont title 所有 Docker組件:images,containers,networks,volumes,plugins,other objects.安裝:https://mirrors.tuna.tsinghua.e

Docker 學習筆記 Dockerfile 創建本地鏡像

div mage con truct fff source 順序 步驟 file 一、測試環境 OS version: CentOS Linux release 7.5.1804 (Core) docker cluster : master 1 + data node

Docker 學習筆記Docker 基本命令 和 用 Dockerfile build 一個 JDK 映象

本文件為學習筆記,部分內容將持續更新。 注:本人信仰用最簡單的方式去做一些事,怎麼簡單怎麼來,也許不求甚解。 Docker 基本命令 docker version 獲取 docke

Docker學習筆記:使用docker搭建LNMP環境

公司使用docker部署伺服器環境,之前沒有接觸過,於是使用阿里雲伺服器學習使用docker,記錄一下學習過程。首先了解Docker,查看了很多網上的資料,說下自己的理解,docker與linux虛擬機器類似,是一個用來把打包好的環境映象放在容器中執行的工具(引擎),dock

docker學習筆記——Docker常用命令總結

docker學習筆記 docker常用命令總結 1. 開啟/停止/重啟container(start/stop/restart)容器可以通過run新建一個來運行,也可以重新start已經停止的container,但start不能夠再指定容器啟動時運行的指令,因為docker只能有一個前臺進程。容器st

Docker學習系列:windows下安裝docker

阻止 statistic pro nta 雙擊 copyright ner notebook 現在 本文目錄如下: windows按照docker的基本要求 具體安裝步驟 開始使用 安裝遠程連接工具連接docker 安裝中遇到的問題 Docker的更新 Dock

Docker學習筆記---docker鏡像基於container制作

系統基礎 方式 目錄 info run contain tar 互聯 指定 Docker鏡像詳解前面講到docker包括image,container.....等組件docker image包含啟動容器所需的文件系統及內容,所以它才能用於創建並啟動docker容器docke

Spring 學習筆記簡介

Spring的簡介 來自百度百科:https://baike.baidu.com/item/spring/85061?fr=aladdin Spring是一個開放原始碼的設計層面框架,他解決的是業務邏輯層和其他各層的鬆耦合問題,因此它將面向介面的程式設計思想貫穿整個系統應用。Spr

圖解演算法學習筆記: 演算法簡介

本章內容:     編寫第一種查詢演算法——二分查詢。     學習如何談論演算法的執行時間——大O表示法。 1) 演算法是一組完成任務的指令,任何程式碼片段都可視為演算法。 2)二分查詢:一種查詢演算法,其輸入是一個有序的元素列表。 Python實現二分查詢程式碼:

Docker學習筆記-Docker Compose

背景 很多應用是很複雜的,需要多個容器共同支援,任何複雜的系統可能需要啟動的容器數量也很龐大,我們需要從Dockerfile build image或者docker hub拉取多個image,要建立並管理多個container,這個工作量是巨大的,docker

docker學習筆記—— docker部署mysql服務

1 獲取mysql官方最新docker映象 $ sudo docker pull mysql/mysql-server:latest 耐心等待下載,完成後可以通過以下命令檢視下載的映象: $ sudo docker images 2 建立

Spark學習筆記——spark簡介

Spark是什麼 spark是基於記憶體計算的大資料平行計算框架。09年誕生於加州大學伯克利分校AMPLab. Spark相較於Hadoop的優點 Spark是MapReduce的替代方案,相容HDFS、Hive等分散式儲存層,可融入Hadoop的生態

jQuery 學習筆記——jQuery簡介、jQuery語法

 內容選自w3cschool教程 一句話描述JQuery:jQuery 是一個 JavaScript 庫。jQuery 極大地簡化了 JavaScript 程式設計。 一. jQuery簡介 jQuery 庫可以通過一行簡單的標記被新增到網頁中。 1. jQuery