Docker 學習筆記 簡單介紹

2022-07-15 18:57:09 字數 1501 閱讀 4568

學習docker已經有一段時間了,一直沒有靜下心來好好總結一下。

感覺是時候寫點東西和大家一起分享了,如果寫的不好還請幫忙指正。

先從docker的一些官方**說起。

1. www.docker.com

這個是docker的官網,經常參考的是install&docs,學會這裡面的所有內容你就是docker使用的大師(...)了。

2. 介紹這個**要稍微多說一點,docker的目的是把環境(image)打包分享,所以需要乙個存這些環境(image)的地方,方便大家去查詢和分享,這個**就是幹這個的了。稱為public registry(有經驗的同學可能注意到了,既然有public,那肯定有private了。是的,我們也可以搭建自己的private registry,方便區域網內的人進行image共享,搭建方法會在後續的章節中介紹)。

3. 大家可能奇怪為什麼會和github有關係呢,因為docker的環境是可以通過build檔案(dockerfile)來自動編譯出來的,docker中提到的automated build可以根據在github中存放的build檔案來自動編譯出image,然後push到public registry中。

4. linux基礎知識

因為docker是在linux container基礎上發展起來的,所以對於linux的了解還是少不了的。

這個可以在使用docker過程中慢慢學習,畢竟涉及的命令太多了。

5. git(optional)

這個是可選的,因為docker的很多命令和git差不多,如果之前用過git,那docker命令學起來就方便多了。

接下來簡單介紹下為什麼用docker呢?

拿乙個簡單的例子來說明一下,作為乙個開發者,我想要搭建乙個mysql的環境,一般的步驟是:download -> install -> configure -> use.

尤其是configure,如果沒有經驗,還需要在網上查詢資料,各種各樣的配置資訊都會被你搜出來,浪費時間和精力。

如果另乙個開發者,也需要乙個mysql的環境,又需要這麼來一邊。

第乙個問題,為什麼不能有現成的呢?

答案是:有,使用vm, 搭建好後,把vm template進行共享。

但是vm會引出其它的問題:

1. 占用空間大,動不動就幾g, 裡面有太多和執行mysql無用的程式和程序,和一整套的底層os.

2. 一旦以後底層os換了,原來的mysql配置還好不好用,就需要進行測試了。

所以需求來了,不能有這麼一套既輕量級,又統一的mysql的環境嗎?

可以把 download -> install -> configure -> use 過程變成 use 嗎?

答案是:docker,用docker registry提供的mysql image。pull下來後可以直接使用。

只要保證從開發,到最終上線都用相同的mysql image,就不會有相容性的問題。

乙個統一的mysql image可以代替網上各種各樣的mysql配置資訊,對於開發者來說方便快捷。

docker是乙個面向開發者使用的軟體。

Docker簡單介紹筆記

貨櫃化的優點 靈活 即使是複雜的應用程式也可封裝。輕量級 容器利用並共享主機核心。可攜式 您可以在本地構建,部署到雲上並在任何地方執行。可擴充套件性 您可以增加和自動分發容器副本。可堆疊 您可以垂直堆疊服務並及時並及時堆疊服務。docker 使用客戶端 伺服器 c s 架構模式,使用遠端api來管理...

Docker 簡單介紹

接觸docker是因為團隊很多程序在主機執行,download別人的code會出現很多問題,需要安裝新的外掛程式,設定環境變數等。process contaiter vm process1 process2 process1 process2 process1 process2 liblib1 li...

Docker學習筆記1 docker介紹及安裝

什麼是docker docker是乙個開源工具,它可以將你的應用打包成乙個標準映象檔案,並且以容器的方式執行。docker容器將一系列軟體包裝在乙個完整的檔案系統中,這個檔案系統包含應用程式執行所需的一切 執行時工具 系統工具 系統依賴,幾乎所有可以安裝在伺服器上的東西。這些策略保證了容器內應用程式...