(七)Docker 簡介與相關安裝使用!

本文爲學習筆記,主要用於記錄本人學習過程。部分內容爲轉載!!!!

一、簡介

什麼是Docker?

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。

Docker的應用場景

  • Web 應用的自動化打包和發佈。

  • 自動化測試和持續集成、發佈。

  • 在服務型環境中部署和調整數據庫或其他的後臺應用。

  • 從頭編譯或者擴展現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。

Docker 的優點

  • 1、簡化程序:
    Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數週的 任務,在Docker容器的處理下,只需要數秒就能完成。

  • 2、避免選擇恐懼症:
    如果你有選擇恐懼症,還是資深患者。Docker 幫你 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、後臺應用、數據庫應用、大數據應用比如 Hadoop 集羣、消息隊列等等都可以打包成一個鏡像部署。

  • 3、節省開支:
    一方面,雲計算時代到來,使開發者不必爲了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。

Docker 架構

Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。

Docker 容器通過 Docker 鏡像來創建。

容器與鏡像的關係類似於面向對象編程中的對象與類。

Docker 面向對象
容器 對象
鏡像

Docker 鏡像(Images)

Docker 鏡像是用於創建 Docker 容器的模板。

Docker 容器(Container)

容器是獨立運行的一個或一組應用。

Docker 客戶端(Client)

Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 與 Docker 的守護進程通信。

Docker 主機(Host)

一個物理或者虛擬的機器用於執行 Docker 守護進程和容器。

Docker 倉庫(Registry)

Docker 倉庫用來保存鏡像,可以理解爲代碼控制中的代碼倉庫。

Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。

 

Docker Machine

Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

二、安裝

(1)CentOS Docker 安裝

Docker支持以下的CentOS版本:

  • CentOS 7 (64-bit)
  • CentOS 6.5 (64-bit) 或更高的版本

前提條件

目前,CentOS 僅發行版本中的內核支持 Docker。

Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。

Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統爲64位、系統內核版本爲 2.6.32-431 或者更高版本。


使用 yum 安裝(CentOS 7下)

Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。

通過 uname -r 命令查看你當前的內核版本

[root@runoob ~]# uname -r 3.10.0-327.el7.x86_64

安裝 Docker

Docker 軟件包和依賴包已經包含在默認的 CentOS-Extras 軟件源裏,安裝命令如下:

[root@runoob ~]# yum -y install docker-io

安裝完成。

啓動 Docker 後臺服務

[root@runoob ~]# service docker start

測試運行 hello-world

[root@runoob ~]#docker run hello-world

由於本地沒有hello-world這個鏡像,所以會下載一個hello-world的鏡像,並在容器內運行。


使用腳本安裝 Docker

1、使用 sudo 或 root 權限登錄 Centos。

2、確保 yum 包更新到最新。

$ sudo yum update

3、執行 Docker 安裝腳本。

$ curl -fsSL https://get.docker.com/ | sh

執行這個腳本會添加 docker.repo 源並安裝 Docker。

4、啓動 Docker 進程。

$ sudo service docker start

5、驗證 docker 是否安裝成功並在容器中執行一個測試的鏡像。

$ sudo docker run hello-world
docker ps

到此,docker 在 CentOS 系統的安裝完成。

鏡像加速

鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。

請在該配置文件中加入(沒有該文件的話,請先建一個):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

(2)Windows Docker 安裝

win7、win8 系統

win7、win8 等需要利用 docker toolbox 來安裝,國內可以使用阿里雲的鏡像來下載,下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

docker toolbox 是一個工具集,它主要包含以下一些內容:

Docker CLI 客戶端,用來運行docker引擎創建鏡像和容器
Docker Machine. 可以讓你在windows的命令行中運行docker引擎命令
Docker Compose. 用來運行docker-compose命令
Kitematic. 這是Docker的GUI版本
Docker QuickStart shell. 這是一個已經配置好Docker的命令行環境
Oracle VM Virtualbox. 虛擬機

下載完成之後直接點擊安裝,安裝成功後,桌邊會出現三個圖標,入下圖所示:

點擊 Docker QuickStart 圖標來啓動 Docker Toolbox 終端。

如果系統顯示 User Account Control 窗口來運行 VirtualBox 修改你的電腦,選擇 Yes。

$ 符號那你可以輸入以下命令來執行。

$ docker run hello-world
 Unable to find image 'hello-world:latest' locally
 Pulling repository hello-world
 91c95931e552: Download complete
 a8219747be10: Download complete
 Status: Downloaded newer image for hello-world:latest
 Hello from Docker.
 This message shows that your installation appears to be working correctly.

 To generate this message, Docker took the following steps:
  1. The Docker Engine CLI client contacted the Docker Engine daemon.
  2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
     (Assuming it was not already locally available.)
  3. The Docker Engine daemon created a new container from that image which runs the
     executable that produces the output you are currently reading.
  4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
     to your terminal.

 To try something more ambitious, you can run an Ubuntu container with:
  $ docker run -it ubuntu bash

 For more examples and ideas, visit:
  https://docs.docker.com/userguide/

Win10 系統

現在 Docker 有專門的 Win10 專業版系統的安裝包,需要開啓Hyper-V。

開啓 Hyper-V

程序和功能

啓用或關閉Windows功能

選中Hyper-V

1、安裝 Toolbox

最新版 Toolbox 下載地址: https://www.docker.com/get-docker

點擊 Get Docker Community Edition,並下載 Windows 的版本:

2、運行安裝文件

雙擊下載的 Docker for Windows Installe 安裝文件,一路 Next,點擊 Finish 完成安裝。

安裝完成後,Docker 會自動啓動。通知欄上會出現個小鯨魚的圖標,這表示 Docker 正在運行。

桌邊也會出現三個圖標,入下圖所示:

我們可以在命令行執行 docker version 來查看版本號,docker run hello-world 來載入測試鏡像測試。

如果沒啓動,你可以在 Windows 搜索 Docker 來啓動:

啓動後,也可以在通知欄上看到小鯨魚圖標:


鏡像加速

鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。

請在該配置文件中加入(沒有該文件的話,請先建一個):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

相關鏈接

Docker 官網:http://www.docker.com

Github Docker 源碼:https://github.com/docker/docker

文章來源:http://www.runoob.com/docker/docker-tutorial.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章