官术网_书友最值得收藏!

2.2 安裝Docker引擎

Docker引擎是使用Docker容器的核心組件,可以在主流的操作系統和云平臺上使用,包括Linux操作系統(如Ubuntu、Debian、CentOS、Redhat等), macOS和Windows操作系統,以及IBM、亞馬遜、微軟等知名云平臺。

用戶可以訪問Docker官網的Get Docker(https://www.docker.com/get-docker)頁面,查看獲取Docker的方式,以及Docker支持的平臺類型,如圖2-2所示。

圖2-2 獲取Docker

目前Docker支持Docker引擎、Docker Hub、Docker Cloud等多種服務。

? Docker引擎:包括支持在桌面系統或云平臺安裝Docker,以及為企業提供簡單安全彈性的容器集群編排和管理;

? DockerHub:官方提供的云托管服務,可以提供公有或私有的鏡像倉庫;

? DockerCloud:官方提供的容器云服務,可以完成容器的部署與管理,可以完整地支持容器化項目,還有CI、CD功能。

Docker引擎目前分為兩個版本:社區版本(Community Edition, CE)和企業版本(Enterprise Edition, EE)。社區版本包括大部分的核心功能,企業版本則通過付費形式提供認證支持、鏡像管理、容器托管、安全掃描等高級服務。通常情況下,用戶使用社區版本可以滿足大部分需求;若有更苛刻的需求,可以購買企業版本服務。社區版本每個月會發布一次嘗鮮(Edge)版本,每個季度(3、6、9、12月)會發行一次穩定(Stable)版本。版本號命名格式為“年份.月份”,如2018年6月發布的版本號為v18.06。

筆者推薦首選在Linux環境中使用Docker社區穩定版本,以獲取最佳的原生支持體驗。本書如無特殊說明,則以社區版本的穩定版為例進行說明。

2.2.1 Ubuntu環境下安裝Docker

1.系統要求

Ubuntu操作系統對Docker的支持十分成熟,可以支持包括x86_64、armhf、s390x (IBM Z)、ppc64le等系統架構,只要是64位即可。

Docker目前支持的最低Ubuntu版本為14.04 LTS,但實際上從穩定性上考慮,推薦使用16.04 LTS或18.0.4 LTS版本,并且系統內核越新越好,以支持Docker最新的特性。

用戶可以通過如下命令檢查自己的內核版本詳細信息:

        $ uname -a
        Linux localhost 4.9.36-x86_64-generic

或者:

        $ cat /proc/version
        Linux version 4.9.36-x86_64-generic (maker@linux.com) (gcc version 4.9.2 (Debian
            4.9.2-10))

如果使用Ubuntu 16.04 LTS版本,為了讓Docker使用aufs存儲,推薦安裝如下兩個軟件包:

        $ sudo apt-get update
        $ sudo apt-get install -y \
            linux-image-extra-$(uname -r) \
            linux-image-extra-virtual

注意

Ubuntu發行版中,LTS(Long-Term-Support)意味著更穩定的功能和更長期(目前為5年)的升級支持,生產環境中推薦盡量使用LTS版本。

2.添加鏡像源

首先需要安裝apt-transport-https等軟件包支持https協議的源:

        $ sudo apt-get update
        $ sudo apt-get install \
            apt-transport-https \
            ca-certificates \
            curl \
            software-properties-common

添加源的gpg密鑰:

        $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
        OK

確認導入指紋為“9DC85822 9FC7 DD38854A E2D8 8D81803C 0EBF CD88”的GPG公鑰:

        $ sudo apt-key fingerprint 0EBFCD88
        pub    4096R/0EBFCD882017-02-22
              Key fingerprint = 9DC85822 9FC7 DD38854A   E2D8 8D81803C 0EBF CD88
        uid                       Docker Release (CE deb) <docker@docker.com>
        sub    4096R/F273FCD82017-02-22

獲取當前操作系統的代號:

        $ lsb_release -cs
        xenial

一般情況下,Ubuntu 16.04 LTS代號為xenial, Ubuntu 18.04 LTS代號為bionic。

接下來通過如下命令添加Docker穩定版的官方軟件源,非xenial版本的系統注意修改為自己對應的代號:

        $ sudo add-apt-repository \
            "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
            xenial \
            stable"

添加成功后,再次更新apt軟件包緩存:

        $ sudo apt-get update

3.開始安裝Docker

在成功添加源之后,就可以安裝最新版本的Docker了,軟件包名稱為docker-ce,代表是社區版本:

        $ sudo apt-get install -y docker-ce

如果系統中存在較舊版本的Docker,會提示是否先刪除,選擇是即可。

除了基于手動添加軟件源的方式之外,也可以使用官方提供的腳本來自動化安裝Docker:

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

安裝成功后,會自動啟動Docker服務。

用戶也可以指定安裝軟件源中其他版本的Docker:

        $ sudo apt-cache madison docker-ce
            docker-ce  |  17.11.0~ce-0~ubuntu  |  https://download.docker.com/linux/ubuntu
                xenial/edge amd64 Packages
            docker-ce  |  17.10.0~ce-0~ubuntu  |  https://download.docker.com/linux/ubuntu
                xenial/edge amd64 Packages
            docker-ce  |  17.09.1~ce-0~ubuntu  |  https://download.docker.com/linux/ubuntu
                xenial/stable amd64 Packages
            ...
        $ sudo apt-get install docker-ce=17.11.0~ce-0~ubuntu

2.2.2 CentOS環境下安裝Docker

Docker目前支持CentOS 7及以后的版本。系統的要求跟Ubuntu情況類似,64位操作系統,內核版本至少為3.10。

首先,為了方便添加軟件源,以及支持devicemapper存儲類型,安裝如下軟件包:

        $ sudo yum update
        $ sudo yum install -y yum-utils \
            device-mapper-persistent-data \
            lvm2

添加Docker穩定版本的yum軟件源:

        $ sudo yum-config-manager \
              --add-repo \
              https://download.docker.com/linux/centos/docker-ce.repo

之后更新yum軟件源緩存,并安裝Docker:

        $ sudo yum update
        $ sudo yum install -y docker-ce

最后,確認Docker服務啟動正常:

        $ sudo systemctl start docker

2.2.3 通過腳本安裝

用戶還可以使用官方提供的shell腳本來在Linux系統(目前支持Ubuntu、Debian、Oracleserver、Fedora、Centos、OpenSuse、Gentoo等常見發行版)上安裝Docker的最新正式版本,該腳本會自動檢測系統信息并進行相應配置:

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

或者:

        $ wget -qO- https://get.docker.com/ | sh

如果想嘗鮮最新功能,可以使用下面的腳本來安裝最新的“嘗鮮”版本。但要注意,非穩定版本往往意味著功能還不夠穩定,不要在生產環境中使用:

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

另外,也可以從store.docker.com/search? offering=community&q=&type=edition找到各個平臺上的Docker安裝包,自行下載使用。

2.2.4 macOS環境下安裝Docker

Docker官方非常重視其在Mac環境下的易用性。由于大量開發者使用Mac環境進行開發,而Docker是一個完整的容器化應用的開發環境,所以Docker官方提供了簡單易用的Docker for Mac(https://docs.docker.com/docker-for-mac/)工具。Docker for Mac其實是一個完整的Docker CE工具。下面我們一步步講解如何正確安裝Docker for Mac。

1.選擇版本

目前用戶可以選擇穩定版(Stable)或測試版(Beta),這兩個版本都可以通過配置Docker Daemon來開啟一些實驗特性。配置時,只要啟動Docker daemon時帶上--experimental參數即可。或者通過修改/etc/docker/daemon.json配置文件中的experimental字段,如下所示:

        {
            "experimental": true
        }

也可以使用如下指令直接確認實驗特性是否開啟:

        $ docker version -f '{{.Server.Experimental}}'
        true

目前的實驗特性主要有ipvlan網絡驅動、顯卡插件、分布式應用包(Distributed Application Bundles)、監測點(Checkpoint)、回滾(Restore),以及使用squash參數構建鏡像。詳細的實驗特性說明可參見https://github.com/docker/docker-ce/blob/master/components/cli/experimental/README.md

官方建議在生產環境中關閉這些實驗特性。

穩定版(stable channel)經過完整測試和精心維護,可用于關注穩定性的生產環境。穩定版每個季度(3個月)發布一次。穩定版用戶可以選擇是否允許Docker收集使用情況統計或其他數據。穩定版下載地址為https://download.docker.com/mac/stable/Docker.dmg

測試版(edge channel)包含最新的工具和特性,甚至會包含一些開發中的特性。測試版適用于希望嘗鮮并有能力處理異常或Bug的用戶,并且默認收集所有用戶使用數據。測試版每月發布一次。測試版下載地址為https://download.docker.com/mac/edge/Docker.dmg

2.安裝須知

Docker for Mac與Docker Machine的關系是互不影響。用戶可以從本地default machine拷貝容器和鏡像至Docker for Mac的HyperKit VM中。HyperKit是Docker開源的支持OSX的輕量級虛擬化工具包。它基于MacOSX 10.10之后引入的Hypervisor框架。HyperKit應用可以利用硬件虛擬化運行VM,但無須特殊權限或者復雜的管理工具棧。關于HyperKit的詳細信息參見https://github.com/moby/hyperkit

當用戶運行Docker for Mac時,本機或遠程均無須運行Docker Machine。用戶使用的是一套新的原生虛擬化系統,不再需要VirtualBox。如果希望了解更多兩者對比情況,參見https://docs.docker.com/docker-for-mac/docker-toolbox/

Docker for Mac支持macOS El Capitan 10.11及其后續版本。最小要求是macOS Yosemite 10.10.3,同時Docker并不保證可以完全支持10.10.X, Docker for Mac從版本1.13開始,不再支持10.10版本的macOS。

3.下載運行Docker for Mac

首先,選擇需要的版本并下載。雙擊打開Docker.dmg文件,將Docker.app拖至應用程序(或Applications)文件夾即可。

Docker應用啟動后,在任務欄會多出一個小圖標,如圖2-3所示。

圖2-3 下載Docker for Mac后

用戶可以通過這個圖標打開Docker應用,并進行配置。

4.驗證

安裝成功后,可以確認運行的Docker版本信息。如果用戶環境已安裝過Docker環境,則可能存在老版docker-py,為了防止沖突,需要重新安裝:

        $ sudo pip uninstall docker-py
        $ sudo pip uninstall docker
        $ sudo pip install docker

此時運行指令已不會提示沖突:

        $ docker-compose --version
        docker-compose version 1.18.0, build 8dd22a9

用戶還可以執行docker version獲取更全面的版本信息:

        $ docker version
        Client:
            Version:        18.03.1-ce
            API version:   1.37
            Go version:    go1.9.5
            Git commit:    9ee9f40
            Built:          Thu Apr 26 07:13:022018
            OS/Arch:        darwin/amd64
            Experimental: false
            Orchestrator: swarm

        Server:
            Engine:
                Version:        18.03.1-ce
                API version:   1.37 (minimum version 1.12)
                Go version:    go1.9.5
                Git commit:    9ee9f40
                Built:          Thu Apr 26 07:22:382018
                OS/Arch:        linux/amd64
                Experimental: false

可見正常輸出客戶端和服務端版本信息,以及實驗特性默認關閉。如果Docker for Mac啟動失敗或關閉狀態,則會出現Error response from daemon: Bad response from Docker engine提示。

下面啟動一個Nginx容器,檢查能正確獲取鏡像并運行:

        $ docker run -d -p 80:80--name webserver nginx

然后使用docker ps指令查看運行的容器:

        $ docker ps
        CONTAINER ID        IMAGE        COMMAND        CREATED        STATUS        PORTS     NAMES
        5d756726c17c      nginx      "nginx -g 'daemon of…"  49 seconds ago  Up 48 seconds
            0.0.0.0:80->80/tcp    webserver

可見Nginx容器已經在0.0.0.0:80啟動,并映射到80端口。打開瀏覽器訪問此地址,如圖2-4所示。

5.常用配置

點擊系統狀態欄的Docker圖標可以訪問管理菜單,如圖2-5所示。

圖2-4 Nginx容器啟動

圖2-5 管理菜單

About Docker頁面呈現已安裝的各組件版本信息、更新通道(穩定版或測試版),以及更新記錄(Release Notes)、聲明、版權信息等,如圖2-6所示。

點擊菜單的Preferences項,打開配置管理界面。其中,General頁面可以配置自動啟動配置、升級、備份,以及使用數據收集配置,如圖2-7所示。

圖2-6 About Docker頁面

圖2-7 General頁面

在File sharing(文件共享)頁面中,用戶可以選擇哪個Mac本地文件夾與容器共享。點擊+后可以繼續添加本地目錄,點擊Apply&Restart按鈕生效,這里其實使用了-v參數,如圖2-8所示。

在Disk頁面中,可以配置磁盤路徑,并可以修改虛擬磁盤大小,如圖2-9所示。

圖2-8 File Sharing頁面

圖2-9 Disk頁面

在Advanced頁面中,可以修改本機分配給Docker的計算資源,如CPU、內存和存儲位置,如圖2-10所示。

在Proxies頁面中,可以配置Pull操作時的代理配置,如圖2-11所示。

圖2-10 Advanced頁面

圖2-11 Proxies頁面

在Daemon頁面中,用戶可用兩種方式(基礎模式/高級模式即JSON)配置Docker守護進程,可以選擇自定義鏡像、開啟嘗鮮模式等,如圖2-12所示。

點擊Reset按鈕,用戶可以選擇重啟Docker、刪除所有Docker數據、恢復出廠設置、重裝Docker等操作。

6. Kitematic

通過菜單可以安裝Kitematic工具管理本地鏡像,點擊提示框中的下載地址,如圖2-13所示。

圖2-12 Daemon頁面

圖2-13 安裝Kitematic

下載Kitematic-Mac.zip并解壓縮至應用程序文件夾(或Applications),雙擊打開Kitematic. app,如圖2-14所示。

圖2-14 下載Kitematic

進入Docker Hub登錄頁面,用戶可以選擇暫時不登錄,直接進入主頁面,如圖2-15所示。

圖2-15 進入Docker Hub登錄頁面

主頁面可見多種常用鏡像,點擊CREATE即可直接創建容器,如圖2-16所示。

圖2-16 創建容器

以hello-world-nginx鏡像為例。點擊CREATE后進入下載頁面,如圖2-17所示。

圖2-17 下載鏡像

容器運行后,在主頁可見運行日志、掛載磁盤(雙擊可以直接打開)、瀏覽器預覽以及容器配置(Settings)等,如圖2-18所示。

圖2-18 容器主頁

進入配置頁面,可見hostname、port,以及卷、網絡等配置,如圖2-19所示。

用戶此時可以打開瀏覽器訪問http://localhost:32768,查看示例頁面。

圖2-19 配置頁面

2.2.5 Windows環境下安裝Docker

目前Docker可以通過虛擬機方式來支持Windows 7.1和Windows 8,只要平臺CPU支持硬件虛擬化特性即可。讀者如果無法確定自己計算機的CPU是否支持該特性也無須擔心,實際上,目前市面上主流的CPU都早已支持硬件虛擬化特性。

對Windows 10的用戶來說,Docker官方為64位Windows 10 Pro環境(需支持Hyper-V)提供了原生虛擬化應用Docker for Windows。Windows環境下Docker CE同樣支持兩個版本:穩定版和測試版。這兩個版本的異同可以參見上節。下載地址可見官網文檔中心的Get Docker→Docker CE→Windows。下面具體介紹安裝步驟。

首先,雙擊exe文件進行安裝,如圖2-20所示。

圖2-20 運行exe文件

安裝完成后點擊OK開啟Hyper-V,如圖2-21所示。

圖2-21 進入Hyper-V

下面查看常用配置。General頁面可以配置自啟策略,是否收集用戶信息,是否檢查升級等,如圖2-22所示。

圖2-22 Generd頁面

Shared Drivers頁面可以選擇本地磁盤作為共享存儲,相當于設置-v參數,在容器中可以使用這些磁盤空間,如圖2-23所示。

Advanced頁面可以調整容器使用的本地資源,包括CPU和內存,也可以配置鏡像和卷的VHD地址,如圖2-24所示。

在Network頁面可進行網絡配置,包括vswitch和DNS配置,如圖2-25所示。

圖2-23 Shared Drives頁面

圖2-24 Advanced頁面

圖2-25 Network頁面

若要在Windows 10之外的Windows上運行Docker,可以使用Boot2Docker工具。用戶可從https://docs.docker.com/installation/windows/下載使用。

主站蜘蛛池模板: 栾川县| 阜平县| 淅川县| 梁山县| 腾冲县| 连南| 岳西县| 小金县| 小金县| 威信县| 揭东县| 周口市| 浦县| 宿迁市| 阳曲县| 宣化县| 威远县| 博爱县| 五原县| 黄骅市| 洛扎县| 肥东县| 西城区| 甘泉县| 余姚市| 大埔县| 梧州市| 榕江县| 黑山县| 枣阳市| 哈巴河县| 新化县| 灵石县| 凤城市| 马鞍山市| 兴安县| 张家界市| 丘北县| 乳源| 洛浦县| 峨山|