Docker入門,Part 1:方向

Docker入門,Part 1:方向

非常的開心,我們能夠一起來學(xué)習(xí)Docker。通過Docker入門手冊我們將一起學(xué)習(xí)了解以下幾個(gè)方面的內(nèi)容:

  1. 配置Docker環(huán)境
  2. 構(gòu)建鏡像并啟動(dòng)容器
  3. 運(yùn)行多個(gè)容器擴(kuò)容你的應(yīng)用
  4. 添加后端數(shù)據(jù)庫實(shí)現(xiàn)應(yīng)用棧
  5. 在生產(chǎn)環(huán)境上部署應(yīng)用

Docker相關(guān)概念

Dockers為開發(fā)運(yùn)維人員提供一個(gè)利用容器實(shí)現(xiàn)的開發(fā),部署,運(yùn)行的統(tǒng)一平臺(tái)。利用Linux的容器技術(shù)實(shí)現(xiàn)應(yīng)用的部署稱之為容器化。容器并不是一門新的技術(shù),但是通過容器來實(shí)現(xiàn)便捷的應(yīng)用部署卻是非常新穎的技術(shù)和方向。

容器化越來越流行是因?yàn)椋?/p>

  • 靈活:即使是非常復(fù)雜的應(yīng)用也能夠?qū)崿F(xiàn)容器化
  • 輕量:容器與主機(jī)是共用同一個(gè)內(nèi)核,我們可以這么理解容器實(shí)際上就是主機(jī)上的一個(gè)進(jìn)程(當(dāng)然這個(gè)描述不一定準(zhǔn)確)
  • 可變:我們能夠?qū)崿F(xiàn)快捷的云部署和更新
  • 便捷:我們能夠在本地構(gòu)建,在云端部署,在任何地方運(yùn)行
  • 可擴(kuò)展:我們能夠自動(dòng)化的增加分布式容器的副本
  • 堆棧:能夠?qū)崿F(xiàn)垂直的堆棧


    Docker

鏡像和容器

通過運(yùn)行鏡像來啟動(dòng)一個(gè)容器。鏡像是一個(gè)可執(zhí)行的包,包括運(yùn)行應(yīng)用所必需的所有東西(代碼,運(yùn)行環(huán)境,依賴庫,環(huán)境變量和配置文件等)
一個(gè)容器就是運(yùn)行鏡像的實(shí)例。在Linux環(huán)境下我們可以通過命令docker ps來查看所有正在運(yùn)行的容器

容器和虛擬機(jī)

容器運(yùn)行于原生的主機(jī)系統(tǒng)中并與其他容器共同使用主機(jī)內(nèi)核。每個(gè)容器都是獨(dú)立運(yùn)行的進(jìn)程,不占用任何不必要的內(nèi)存,所以非常的輕量
相比而言,虛擬機(jī)則是通過虛擬機(jī)管理程序虛擬訪問主機(jī)資源運(yùn)行了一個(gè)完整的操作系統(tǒng)。一般情況下,虛擬機(jī)提供的運(yùn)行環(huán)境會(huì)比應(yīng)用程序?qū)嶋H需要的資源更多。贊成資源的浪費(fèi)和環(huán)境的笨重。
[圖片上傳失敗...(image-381cc3-1533459729457)]
[圖片上傳失敗...(image-3c6c54-1533459729457)]

準(zhǔn)備我們的Doker環(huán)境

該章節(jié)會(huì)通過而外一篇文章來介紹,請?jiān)谡緝?nèi)查找

測試Doker

  1. 運(yùn)行docker --version 確保安裝是可用的版本
  2. 運(yùn)行docker info (或者 docker version,不添加--)查看更多的docker安裝信息
    為避免權(quán)限的問題,需要將用戶添加到docker組

測試Docker

  1. 我們從運(yùn)行一個(gè)非常簡單的容器開始,運(yùn)行萬能的hello-world開始測試我們的安裝是否成功docker run hello-world,如果一切OK,我們能夠在終端看到運(yùn)行成功的提示信息
  2. 查看本機(jī)上下面的鏡像信息docker image ls
  3. 查看上文提到的hello-world容器信息,docker container ls --all(如果上文的hello-world容器一直在運(yùn)行,可以不用添加--all選項(xiàng))

回顧

## 列出Docker命令行命令
docker
docker container --help

## 查看Docker版本和相關(guān)信息
docker --version
docker version
docker info

## 運(yùn)行Docker鏡像
docker run hello-world

## 查看鏡像
docker image ls

## 查看容器 (運(yùn)行中, 所有,所有關(guān)閉模式的)
docker container ls
docker container ls --all
docker container ls -aq

總結(jié)

容器化是CI/CD無縫的集成,例如:

  • 應(yīng)用不再有系統(tǒng)的依賴(一處構(gòu)建,多處運(yùn)行)
  • 能夠?qū)σ寻l(fā)布的應(yīng)用任何一部分進(jìn)行更新
  • 資源使用率得到優(yōu)化
    使用Docker,擴(kuò)展應(yīng)用程序的就僅僅在于啟動(dòng)新的容器,而不是運(yùn)行笨重的VM主機(jī)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《Docker從入門到實(shí)踐》閱讀筆記 原書地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,642評論 1 39
  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,850評論 15 147
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,563評論 19 139
  • 在鎮(zhèn)子老街中有一條深深窄窄的巷子。 巷子中大多都是老舊的土房,連巷子兩邊的墻都是土塊壘起來的。每當(dāng)深夜打著手電走在...
    book君閱讀 487評論 0 0
  • 今天在讀《神奇手賬》一書,發(fā)現(xiàn)手賬的用處多多。手賬竟然可以管理心情。 怎么管理?待我一一道來。 片段一: 每個(gè)人都...
    懶蟲子的美麗人生閱讀 514評論 3 1

友情鏈接更多精彩內(nèi)容