docker簡介及安裝

語言: CN / TW / HK

theme: orange highlight: atom-one-dark-reasonable


Docker 入門教程

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

Docker 可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在本地編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機器)、bare metal、OpenStack 叢集和其他的基礎應用平臺。

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

優勢分析

Docker 是一個用於開發,交付和執行應用程式的開放平臺。Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。藉助 Docker,可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付,測試和部署程式碼,可以大大減少編寫程式碼和在生產環境中執行程式碼之間的延遲。

與虛擬機器比較

  • 使用核心虛擬化技術速度更快
  • 系統資源佔用少,一臺主機上可以同時執行數千個 Docker 容器。
  • 起動速度秒級,而虛擬機器分鐘級
  • 硬碟佔用更少,虛擬機器是完整系統佔用往往達到G級

Docker的思想

  1. 集裝箱: a. 會將所有需要的內容放到不同的集裝箱中,誰需要這些環境就直接拿到這個集裝箱就可以了
  2. 標準化: a. 運輸的標準化:Docker有一個碼頭,所有上傳的集裝箱都放在了這個碼頭上,當誰需要某一個環境,就直接指派大海豚去搬運這個集裝箱就可以了。 b. 命令的標準化:Docker提供了一系列的命令,幫助我們去獲取集裝箱等等操作。 c. 提供了REST的API:衍生出了很多圖形化介面,Rancher。
  3. 隔離性: a. Docker在執行集裝箱內的內容時,會在LInux的核心中,單獨的開闢一片空間,這片空間不會影響到其他程式。
  4. 映象:就相當於是一個 root 檔案系統。比如官方映象 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統
  5. 容器:容器是從映象建立的執行物件,也是我們最終應用的場所。可以啟動/刪除/停止,容器間都是相互獨立的,類似面向物件程式設計中的物件
  6. 倉庫:型別於管理映象的GITHUB,可以將映象提交到倉庫,供其他使用者或其他平臺輕鬆使用

Docker的安裝

Docker支援很多種作業系統,例如:Ubuntu,CentOS,Windows;這裡就簡單的為大家講解下Ubuntu下的安裝和使用

為了安裝方便,這裡建議大家使用root賬戶

  1. 更新apt包索引

sh sudo apt-get update

  1. 允許apt通過HTTPS安裝

shell sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

  1. 安裝Docker的官方GPG證書

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

  1. 寫入軟體源資訊 shell sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"

  2. 更新apt包索引。

    shell sudo apt-get update

  3. 安裝最新版本的Docker CE和containerd

shell sudo apt-get install docker-ce docker-ce-cli containerd.io

  1. 通過執行hello-world 映像驗證是否正確安裝了Docker CE

shell sudo docker run hello-world

![70544-20190226100126073-1054637916.jpg](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e12d5559f52d4d5c985f51dc53da8db9~tplv-k3u1fbpfcp-watermark.image?)

程序維護

  1. 停止、啟動、重啟docker

shell sudo systemctl start | stop | restart docker.service

  1. 檢視docker版本

shell sudo docker version

  1. 設定開機自啟

shell sudo systemctl enable docker

  1. 開機啟動檢測

shell sudo systemctl list-unit-files | grep docker

映象加速

提升國內使用者訪問 Docker Hub 拉取映象的速度及穩定性。

LINUX

  1. 修改配置檔案

shell sudo vim /etc/docker/daemon.json

  1. 新增國內映象

text { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.ccs.tencentyun.com", "https://docker.mirrors.ustc.edu.cn" ] }

  1. 更新映象快取

shell sudo systemctl daemon-reload sudo systemctl restart docker

Docker的中央倉庫

  1. https://hub.docker.com Docker官方的中央倉庫:這個倉庫是映象最全的,但是下載速度很慢
  2. https://c.163yun.com/hub#/home 國內的映象網站:網易蜂巢、daoCloud...
  3. http://hub.daocloud.io (推薦使用)
  4. 在公司內部會採用私服的方式拉取映象。(新增配置)

到這裡,docker環境就算大功告成了,小夥伴們自己動手嘗試下吧

「其他文章」