日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker,一个傲娇的男人

發布時間:2024/9/27 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker,一个傲娇的男人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

戳藍字“CSDN云計算”關注我們哦!

引言

大概幾個月前,我曾經寫過一篇文章叫《微服務為什么一定要用docker》。當時,寫完這篇以后,有些粉絲表示想看看基本入門教程,希望我寫一篇。然后呢,大家也知道,我其實很不愛寫這種Hello World級別的文章,所以一拖再拖。于是,趁著近期有時間,煙哥體內的洪荒之力壓抑不住了,決定寫一篇docker的入門教程。考慮到寫這種入門級別的文章,老是貼命令,那不是很無趣!因此,我們用擬人體來寫Docker入門教程!

正文

Ladies and gentleman,My name is docker。


額,尷尬!好吧,容我默默開始介紹自己!我的名字叫Docker,我在2013年的時候,就來到了這個世上!然而那會并沒有多少人知道我,對此我哭的很傷心。甚至無數個夜里,我都從夢中驚醒,思考著:當初來到這個世上究竟是對還是錯!


轉眼間來到了2017年,容器技術成為了一種主流,而我成為了容器技術的頭牌花魁!俗話說的好,人中呂布,馬中赤兔。啊,不對,串場了,不好意思,其實我想表達的意思就是,現在操作系統中首選的是Linux,而容器技術首選的就是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字)..


因為那種說法太復雜了,讀者們不會有耐心一個字一個字看的~~


其實關于鏡像和容器,網上有一個很經典的比喻!其實在上面那段代碼中,Person就可以被理解為鏡象,對象p就可以稱為之容器。就好像類是可以繼承一樣,鏡像也是可以繼承的!額!!!其實有一個類似的,但是不完全一樣。在我這里又一個base鏡像的概念,一般要滿足下面兩個條件
  • 不依賴其他鏡像,從 scratch 構建

  • 其他鏡像可以之為基礎進行擴展


可能這兩個條件理解起來可能很抽象。其實很簡單的,能稱作 base 鏡像的通常都是各種 Linux 發行版的 Docker 鏡像,比如 Ubuntu, Debian, CentOS 等。可以這么理解,99%的鏡像都是通過在 base鏡像中安裝和配置需要的軟件構建出來的介紹完幾個基本概念后,講幾個常見命令就好,為防誤傷,大家注意!
其實懂幾個鏡像和容器有關的命令,就差不多ok!

鏡像命令

比如你總要知道,怎么拉鏡像吧?這樣就能拉取httpd這個鏡像了!
那拉到操作系統上的哪個位置呢?
ok,是拉到/var/lib/docker這個目錄下,可以通過修改docker.service增加配置,來修改鏡像的存儲位置!
好問題!用下面的命令來看
可是,大家會不會有一個疑問?我如何查看遠程倉庫里有哪些鏡像么?這個命令就能看遠程倉庫里有哪些 httpd的鏡像啦!最后一個就是刪除本地鏡像的命令。
如下所示:鏡像命令會這四句就夠用了!到了容器命令了,記得

容器命令

比如,你總要知道當前有哪些正在運行的容器吧,那就是下面這個命令那怎么運行容器呢,如下所示這代表的就是運行一個hellp-world的鏡像,生成一個正在運行的容器實例。


這個容易,/bin/bash的作用是因為docker后臺必須運行一個進程,否則容器就會退出,在這里表示啟動容器后啟動bash。
最后一個命令,殺掉一個運行中的容器!

數據卷

OK,這里不得不提一個很重要的概念,也就是數據卷!
在docker中,容器一旦關閉,容器中的數據就會丟失。容器重啟啟動后,不會加載原來的數據!
因此,在實際應用中,我們會將容器內的數據需要持久化到宿主機上!
因此,這個命令,大家一定要了解!
主要注意這個地方對應就是-v /宿主機:/容器內目錄,意思就是宿主機的/test目錄掛載到容器的/soft目錄!
這個命令,很重要,但凡搭建redis,mysql這樣的容器,一定會用到數據卷掛載!

DockerFile

所謂DockerFile,它是一個文本文件,可以用這個文件來構建鏡像!所以呢,嗯,我們先來講講DockerFile的相關指令
額,那講講原理吧,具體指令大家以后去查詢!
ps其實大家工作中自己去寫DockerFile幾率太低!不知道大家有沒聽過一個說法,Docker鏡像是分層的,類似洋蔥一樣,一層一層的包裝起來的!
為防止大家不認識洋蔥,上圖


這話怎么理解呢?那就要從DockerFile說起了!
如下所示先稍微解釋一下現在,你要編譯該DockerFile,生成一個名字為my_test_image的鏡像,命令如下結果如下第一步,先生成了一個標識符為d1b55fd07600的鏡像。
第二步,在第一步的基礎上,又包了一層(像洋蔥一樣),生成一個標識符為44ab3f1d4cd6的鏡像
第三部,又在第二步的鏡像基礎上,又包了一層,生成了一個標識符為174b1e992617的鏡像
以此類推,得到我們的鏡像!總結,docker在構建鏡像的時候,會逐行執行我們的Dockerfile中的每一行,每執行一行的時候,docker就會創建出一個新的層來存放新的內容,最后得到我們的鏡像!

總結

本文寫到最后,深感痛心疾首!我居然寫這么low的文章,默默懺悔。希望大家通過這篇文章能夠入門docker!最近忙著復習,預計tiao cao,所以更的慢一點,大家莫催~



福利

掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!



推薦閱讀:

  • 如何高效地準備技術面試?

  • 漫畫:有趣的“帽子問題”

  • 我為什么放棄了 Chrome?

  • 5天破10億的哪吒,為啥這么火,Python來分析

  • 通俗易懂:圖解10大CNN網絡架構

  • 互聯網公司上演反腐風暴;GitHub CEO 對斷供表示無能為力;程序員面試錦集| 開發者周刊

  • 在其他國家被揭穿騙子又盯上非洲? 這幾個騙子公司可把非洲人民坑苦了……

真香,朕在看了!

總結

以上是生活随笔為你收集整理的Docker,一个傲娇的男人的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。