【docker系列】docker深入淺出之安裝教程

Docker簡介

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

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

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

Docker 從 17.03 版本之後分爲 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版),我們用社區版就可以了。

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 官網:http://www.docker.com

Github Docker 源碼:https://github.com/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。

 

Ubuntu Docker 安裝

Docker 支持以下的 Ubuntu 版本:

  • Ubuntu Precise 12.04 (LTS)
  • Ubuntu Trusty 14.04 (LTS)
  • Ubuntu Wily 15.10
  • Xenial 16.04 (LTS)
  • 其他更新的版本……

    如果安裝 Docker ce 需要 16.04 及以上版本,安裝步驟可以查看筆記部分:

    • Cosmic 18.10
    • Bionic 18.04 (LTS)
    • Xenial 16.04 (LTS)

    前提條件

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

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

        

使用腳本安裝 Docker

1、獲取最新版本的 Docker 安裝包

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

2、啓動docker 後臺服務

sudo service docker start

3、測試運行hello-world

docker run hello-world

鏡像加速

鑑於國內網絡問題,後續拉取 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"]
}

其他方式安裝流程:

1.更換國內軟件源,推薦中國科技大學的源,穩定速度快(可選)

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update

2.安裝需要的包

sudo apt install apt-transport-https ca-certificates software-properties-common curl

3.添加 GPG 密鑰,並添加 Docker-ce 軟件源,這裏還是以中國科技大學的 Docker-ce 源爲例

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable"

4.添加成功後更新軟件包緩存

sudo apt update

5.安裝 Docker-ce

sudo apt install docker-ce

6.設置開機自啓動並啓動 Docker-ce(安裝成功後默認已設置並啓動,可忽略)

sudo systemctl enable docker
sudo systemctl start docker

7.測試運行

sudo docker run hello-world

8.添加當前用戶到 docker 用戶組,可以不用 sudo 運行 docker(可選)

sudo groupadd docker
sudo usermod -aG docker $USER

9.測試添加用戶組(可選)

docker run hello-world

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 命令查看你當前的內核版本

uname -r

安裝 Docker

從 2017 年 3 月開始 docker 在原來的基礎上分爲兩個分支版本: Docker CE 和 Docker EE。

Docker CE 即社區免費版,Docker EE 即企業版,強調安全,但需付費使用。

本文介紹 Docker CE 的安裝使用。

移除舊的版本:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安裝一些必要的系統工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加軟件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 緩存:

sudo yum makecache fast

安裝 Docker-ce:

sudo yum -y install docker-ce

啓動 Docker 後臺服務

sudo systemctl start docker

測試運行 hello-world

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 -o get-docker.sh
$ sudo sh get-docker.sh

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

4、啓動 Docker 進程。

sudo systemctl start docker

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"]
}

刪除 Docker CE

執行以下命令來刪除 Docker CE:

$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker

MacOS Docker 安裝

使用 Homebrew 安裝

macOS 我們可以使用 Homebrew 來安裝 Docker。

Homebrew 的 Cask 已經支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 來進行安裝:

$ brew cask install docker

==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:          # 輸入 macOS 密碼
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/21090/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺  docker was successfully installed!

在載入 Docker app 後,點擊 Next,可能會詢問你的 macOS 登陸密碼,你輸入即可。之後會彈出一個 Docker 運行的提示窗口,狀態欄上也有有個小鯨魚的圖標()。


手動下載安裝

如果需要手動下載,請點擊以下鏈接下載 Stable 或 Edge 版本的 Docker for Mac。

如同 macOS 其它軟件一樣,安裝也非常簡單,雙擊下載的 .dmg 文件,然後將鯨魚圖標拖拽到 Application 文件夾即可。

從應用中找到 Docker 圖標並點擊運行。可能會詢問 macOS 的登陸密碼,輸入即可。

點擊頂部狀態欄中的鯨魚圖標會彈出操作菜單。

第一次點擊圖標,可能會看到這個安裝成功的界面,點擊 "Got it!" 可以關閉這個窗口。

啓動終端後,通過命令可以檢查安裝後的 Docker 版本。

$ docker --version
Docker version 17.09.1-ce, build 19e2cf6

鏡像加速

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

在任務欄點擊 Docker for mac 應用圖標 -> Perferences... -> Daemon -> Registry mirrors。在列表中填寫加速器地址即可。修改完成之後,點擊 Apply & Restart 按鈕,Docker 就會重啓並應用配置的鏡像地址了。

之後我們可以通過 docker info 來查看是否配置成功。

$ docker info
...
Registry Mirrors:
 http://hub-mirror.c.163.com
Live Restore Enabled: false

 

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