Docker,一个傲娇的男人
生活随笔
收集整理的這篇文章主要介紹了
Docker,一个傲娇的男人
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
戳藍字“CSDN云計算”關注我們哦!
引言
大概幾個月前,我曾經寫過一篇文章叫《微服務為什么一定要用docker》。當時,寫完這篇以后,有些粉絲表示想看看基本入門教程,希望我寫一篇。然后呢,大家也知道,我其實很不愛寫這種Hello World級別的文章,所以一拖再拖。于是,趁著近期有時間,煙哥體內的洪荒之力壓抑不住了,決定寫一篇docker的入門教程。考慮到寫這種入門級別的文章,老是貼命令,那不是很無趣!因此,我們用擬人體來寫Docker入門教程!正文
Ladies and gentleman,My name is docker。額!假裝沒看到。繼續我們的話題,至于我的優點,比如可以提供一致的運行環境啦,可以更輕松的遷移啦…(以下省略10000字)…ps:關于這塊內容,可以看煙哥的另一篇《微服務為什么一定要用docker》,我就不重復啰嗦了。嗯,接下來,我來介紹一下,我是怎么進行安裝的!首先,你要檢查一下操作系統的版本….balabalaps:這塊就略過吧,畢竟怎么安裝,應該不用贅述!接下來,我就要說說自己的五個小弟!
鏡像
容器
倉庫
客戶端
服務端
倉庫
所謂這個倉庫嘛!就上面最右邊的哪個部分Registry。唉,就是放一堆鏡像的地方啦。我們可以推鏡像到倉庫中,同一個鏡像也可以有多個版本,這里稱為tag,也就是標簽!ps:大家都知道啊,外國的鏡像倉庫下載慢啊!所以,大家都會去下面這個文件中修改一下鏡像倉庫的路徑,最出名的就是下面幾個啦
http://hub-mirror.c.163.com
https://mirror.ccs.tencentyun.com
等等
客戶端和服務端
客戶端就是上圖最左邊到部分,其實就是一個執行docker命令的地方啦!那服務端呢,實際上一個稱為docker daemon的守護進程。它既負責監聽客戶端的請求,并且管理著Docker的鏡像、容器、網絡、磁盤等資源!鏡像和容器
終于到了重頭戲,也就是鏡像和容器所謂鏡像,是一種輕量級的、可執行的獨立軟件包,用來打包軟件運行環境..(省略100字)..所謂容器,是用鏡像創建的運行實例..(省略50字)..不依賴其他鏡像,從 scratch 構建
其他鏡像可以之為基礎進行擴展
其實懂幾個鏡像和容器有關的命令,就差不多ok!
鏡像命令
比如你總要知道,怎么拉鏡像吧?這樣就能拉取httpd這個鏡像了!那拉到操作系統上的哪個位置呢?
ok,是拉到/var/lib/docker這個目錄下,可以通過修改docker.service增加配置,來修改鏡像的存儲位置!
好問題!用下面的命令來看
可是,大家會不會有一個疑問?我如何查看遠程倉庫里有哪些鏡像么?這個命令就能看遠程倉庫里有哪些 httpd的鏡像啦!最后一個就是刪除本地鏡像的命令。
如下所示:鏡像命令會這四句就夠用了!到了容器命令了,記得
容器命令
比如,你總要知道當前有哪些正在運行的容器吧,那就是下面這個命令那怎么運行容器呢,如下所示這代表的就是運行一個hellp-world的鏡像,生成一個正在運行的容器實例。最后一個命令,殺掉一個運行中的容器!
數據卷
OK,這里不得不提一個很重要的概念,也就是數據卷!在docker中,容器一旦關閉,容器中的數據就會丟失。容器重啟啟動后,不會加載原來的數據!
因此,在實際應用中,我們會將容器內的數據需要持久化到宿主機上!
因此,這個命令,大家一定要了解!
主要注意這個地方對應就是-v /宿主機:/容器內目錄,意思就是宿主機的/test目錄掛載到容器的/soft目錄!
這個命令,很重要,但凡搭建redis,mysql這樣的容器,一定會用到數據卷掛載!
DockerFile
所謂DockerFile,它是一個文本文件,可以用這個文件來構建鏡像!所以呢,嗯,我們先來講講DockerFile的相關指令額,那講講原理吧,具體指令大家以后去查詢!
ps:其實大家工作中自己去寫DockerFile幾率太低!不知道大家有沒聽過一個說法,Docker鏡像是分層的,類似洋蔥一樣,一層一層的包裝起來的!
為防止大家不認識洋蔥,上圖
如下所示先稍微解釋一下現在,你要編譯該DockerFile,生成一個名字為my_test_image的鏡像,命令如下結果如下第一步,先生成了一個標識符為d1b55fd07600的鏡像。
第二步,在第一步的基礎上,又包了一層(像洋蔥一樣),生成一個標識符為44ab3f1d4cd6的鏡像
第三部,又在第二步的鏡像基礎上,又包了一層,生成了一個標識符為174b1e992617的鏡像
以此類推,得到我們的鏡像!總結,docker在構建鏡像的時候,會逐行執行我們的Dockerfile中的每一行,每執行一行的時候,docker就會創建出一個新的層來存放新的內容,最后得到我們的鏡像!
總結
本文寫到最后,深感痛心疾首!我居然寫這么low的文章,默默懺悔。希望大家通過這篇文章能夠入門docker!最近忙著復習,預計tiao cao,所以更的慢一點,大家莫催~福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
如何高效地準備技術面試?
漫畫:有趣的“帽子問題”
我為什么放棄了 Chrome?
5天破10億的哪吒,為啥這么火,Python來分析
通俗易懂:圖解10大CNN網絡架構
互聯網公司上演反腐風暴;GitHub CEO 對斷供表示無能為力;程序員面試錦集| 開發者周刊
在其他國家被揭穿騙子又盯上非洲? 這幾個騙子公司可把非洲人民坑苦了……
總結
以上是生活随笔為你收集整理的Docker,一个傲娇的男人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Boost::context模块fibe
- 下一篇: Boost::context模块fibe