<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    什么是 docker?

    共 1615字,需瀏覽 4分鐘

     ·

    2020-02-09 23:25

    來源:互聯(lián)網偵察

    作者:channingbreeze




    829dd2b10b31088563b1bf07c941c336.webp


    話說小史已經接受了A廠的offer,這不,已經在公司附近租好了房子,準備搬家過去住了。


    家里的東西真是多呀,小史的很多家具都是組裝起來的,現(xiàn)在都已經拆散放到呂老師的車上了。


    就這樣,呂老師開車帶著小史一起去了公司附近的新住址。


    開了一個多小時,終于到了新住址。一進房間,小史就忙著把心愛的電腦桌拼起來。


    但是電腦桌拆起來快,裝起來可不好裝,幾十個組件,一百多個螺絲釘,小史裝了一下午,最后還發(fā)現(xiàn)少了幾個螺絲釘。


    e09ddf46a16bc8a0ae59b24b70bc1b00.webp


    【晚飯】


    晚上,小史和呂老師一起吃飯。


    6aaf8d25da26d9848f8f02502c9b58d7.webp

    8e19fbee37c68b72c30fd3e7d70cd7b2.webp

    1a9747b06a435cde177fecfe5d474207.webp

    b5c2f8ea90da9e6717199c768d03dffd.webp

    54d7eeef4a201ebbe1fe193480e3215a.webp

    0a176ca0fce918045440e444599eb596.webp


    【呂老師前傳】


    呂老師以前還是程序員的時候,在B廠上班,有一次一個新項目要發(fā)布上線。結果測試環(huán)境跑得好好的,生產環(huán)境死活跑不起來。


    8856b53122ad82dfc551371b85b6c4fa.webp


    【docker有啥好】


    1b059084c651174f5bc46da0e8666c4d.webp

    小史:docker我用過,不過當時是因為視頻教程里用的docker部署的環(huán)境,所以我也就跟著做了,其實反而覺得更麻煩了,它到底哪里好呢?

    d204d8e736b0f35ba9ea14f318ee6e13.webp

    83446887d203a21f22254d8db98f5eb5.webp

    596aa698bc2a6b1b86195a0a03162ee6.webp

    60bee2e1fa9faa326a42a6892fba2c27.webp

    3089ed9dc4741d0398946cfab6fdbb01.webp

    78c2c0449f5c5cf8a6d56bdef876a35e.webp

    0a0e8665ec61af8230ff07052551f22e.webp

    185f5d4f6fa9b9912c213f9f6051d1e4.webp

    6436f55c59eacd6ef08bbe6a14a7a0e3.webp

    呂老師:這方面docker做了很多事情,比如提供了基礎鏡像的方式,docker官方的鏡像倉庫里有很多鏡像,可以直接拉下來用,然后新的鏡像可以以它們?yōu)榛A,在上面commit新的東西。

    624a0b33ff8d2ea897f575f98c303990.webp

    04b2072daabf07731de885a8e81b8f17.webp

    呂老師:同時,docker使用了鏡像分層的技術,新的commit會產生新的層,可以復用一部分老的層。這樣一來制作新鏡像的速度還是挺快的。

    4792dc804ea43cf72aa6a900661ab4bf.webp

    e57b50ed0358a2ceebb304be5dfa0798.webp

    小史:我明白你的意思,這樣確實制作鏡像的時候可以加快速度,但是假如我要把整個環(huán)境放到另外一個機器部署,還是要拷貝整個大的鏡像過去吧?

    d513663297e38c2e82e20d17bd994ae2.webp


    【dockerfile】


    6f33172d300b0ee01d5f2910f121ef6e.webp

    呂老師:你說的對,電腦桌不拆,直接放我車上放不下,那么能不能這樣,我們拆的時候,就把哪個螺絲在哪里這些細節(jié)記錄好,到時候裝的時候只要按照記錄順序安裝就好。

    c7e23b4904bf4370f1140ecc958db4c1.webp

    2203ff46432888cfc68ef221896b9a9f.webp

    a884b2d413df35c27840138a6e86d70e.webp

    248204a5b66c7e4b6ae975f01f2aa270.webp

    b2fdd706d461baa29a96109494df7565.webp

    2e8b13f9149e2b963d1664a440afdb35.webp

    851bc2ad76b14de4f5d357936c838cd7.webp

    呂老師:你看,就這個簡單的文件。第一行它告訴你這個鏡像基于ubuntu基礎鏡像,第二行告訴你這個鏡像的維護者的信息,第三行的RUN就是要執(zhí)行的shell命令,比如這里,是在ubuntu的基礎鏡像上安裝一些額外的東西,第4行是鏡像啟動之后執(zhí)行的初始命令。

    4b17bcf874c4b0c848a185578c674a26.webp

    b440b4706f9578c80923db97a012ecea.webp

    56bd4e921e98a8ebc50b2ab75823bdb8.webp


    【docker最佳實踐】


    533cc428d816308a82444abeda149648.webp

    bc2bc92839cd5c520565b3b5eb7b833d.webp

    c7da385c320dba937f77bb86ca756ebf.webp

    372ba9c62beff58102521082d69dd814.webp

    b0e3e78111d727ca06ff0316af3e3726.webp

    d662b0fcc7c4e139094a717d744399b7.webp

    0e0ff9c05f21d99f26082b3cc96c8e38.webp

    c879a840c850eeb98025b66fa75a3050.webp

    f8716c63177c4862f5cee8dd23c93c6f.webp

    呂老師:其實在網絡好的情況下,下載一個鏡像一般來說比重新打一個鏡像更快,所以最終部署都是基于鏡像去部署,不會重新打鏡像了。

    edea2781540c2943a39eed5bc59f41a7.webp

    2a1238288dcd1e2d5bc28dcf46a6c7ca.webp

    e183aec23f61a76625cb8c8b3ebe6eac.webp


    【docker關鍵概念】


    929e5383d854d065431246b3d2e5aafa.webp

    a38d7aeae744eaa44d8348c57cfe65a9.webp

    dde3f60908d7b807e8d11fb62e294ff9.webp

    a64f4a9356c33bbdf8cf8cda50c19bbb.webp

    957f9ffdeb56441ac5c6dcd283d6dbda.webp

    呂老師:你說的沒錯,其實鏡像有點像代碼,容器有點像進程。代碼是存放在硬盤上的東西,而把代碼運行起來,就會形成一個進程,進程才是跑起來的程序。

    e661afe5f9dfa77b269028636cc27953.webp

    小史:對,你這個比喻真是貼切,鏡像和容器也是一樣,鏡像是存在硬盤上的東西,鏡像運行起來,就形成一個容器,容器才是真正跑起來的程序。只不過在docker中,我們可以進入容器,做一些操作,然后再把容器中的改動提交形成一個新的鏡像。

    3bd5c32c614408505f73552a0714e7a3.webp

    a8179578b81adc316bf792018d640877.webp

    小史:如果說鏡像是代碼的話,鏡像倉庫就有點像github了,我們寫好的代碼會提交到github上面進行保存和管理,方便在其他地方也能下載代碼。鏡像倉庫也是類似的,制作好的鏡像,就把它放到鏡像倉庫,方便其他人直接用鏡像部署。

    6e4885ccd46b91cac9ad013d75a85231.webp


    【筆記】


    聊天結束后,小史悄悄在手機中記錄下了這次的筆記。


    一、容器技術docker的思考方式是,將環(huán)境一起打包鏡像,避免部署時的環(huán)境問題。

    二、dockerfile記錄鏡像的制作步驟

    三、鏡像、容器、倉庫的概念可以類比代碼、進程、github


    【飯后】


    吃完晚飯,小史和呂老師走在大街上,望著天上的星空。


    f777af065ff9b34ead0e6d9ec1ffb5a9.webp

    2eb5a57e8814ec16dfa9e9d3d68c0ef5.webp

    861642d19be20c818ea1af1516e0fcac.webp

    cc23fceba20c401898c12742ca1a7c60.webp

    5ef272892c0ce273c9e5a3101bc7a697.webp



    我整理了幾百本CS相關的電子書,全部都放在了這個Github:https://github.com/iamshuaidi/CS-Book(點擊閱讀原文直達,電腦打開更佳)

    推薦閱讀

    全部文章分類與整理(算法+數(shù)據(jù)結構+計算機基礎),持續(xù)更新

    【吐血整理】那些讓你起飛的計算機基礎知識:學什么,怎么學?

    普普通通,我的三年大學

    寫公眾號15個月以來,這一路上的學習與收獲

    歷經兩個月,我的秋招之路結束了!

    2020 第一篇原創(chuàng) | 我是如何讓自己變的更加優(yōu)秀的?


    瀏覽 66
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    激情做爱网站 | 日韩免费中文字幕 | 三级电影中文字幕 | 国产骚逼| 人人艹人人 |