<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                先簡單理解 docker 的使用過程,它分為鏡像構建與容器啟動。 鏡像構建:即創建一個鏡像,它包含安裝運行所需的環境、程序代碼等。這個創建過程就是使用 dockerfile 來完成的。 容器啟動:容器最終運行起來是通過拉取構建好的鏡像,通過一系列運行指令(如端口映射、外部數據掛載、環境變量等)來啟動服務的。針對單個容器,這可以通過 docker run 來運行。 而如果涉及多個容器的運行(如服務編排)就可以通過 docker-compose 來實現,它可以輕松的將多個容器作為 service 來運行(當然也可僅運行其中的某個),并且提供了 scale (服務擴容) 的功能。 簡單總結: 1.dockerfile: 構建鏡像; 2.docker run: 啟動容器; 3.docker-compose: 啟動服務; 從頭說起。 假如你不用 docker ,搭建 wordpress 怎么弄?先找臺 server ,假設其 OS 為 Ubuntu ,然后按照文檔一步步敲命令,寫配置,對吧? 用 docker 呢? 隨便找臺 server ,不管什么操作系統,只要支持 docker 就行, docker run ubuntu, docker 會從官方源里拉取最新的 Ubuntu 鏡像,可以認為你開了個 Ubuntu 虛擬機,然后一步步安裝,跟上面一樣。 但是這樣安裝有個顯著的缺點,一旦 container 被刪,你做的工作就都沒了。當然可以用 docker commit 來保存成鏡像,這樣就可以復用了。 但是鏡像一般比較大,而且只分享鏡像的話,別人也不知道你這鏡像到底包含什么,這些問題都不利于分享和復用。 一個直觀的解決方案就是,寫個腳本把安裝過程全部記錄下來,這樣再次安裝的時候,執行腳本就行了。 Dockerfile 就是這樣的腳本,它記錄了一個鏡像的制作過程。 有了 Dockerfile, 只要執行 docker build . 就能制作鏡像,而且 Dockerfile 就是文本文件,修改也很方便。 現在有了 wordpress 的鏡像,只需要 docker run 就把 wordpress 啟動起來了。 如果僅僅是 wordpress, 這也就夠了。但是很多時候,需要多個鏡像合作才能啟動一個服務,比如前端要有 nginx , 數據庫 mysql, 郵件服務等等,當然你可以把所有這些都弄到一個鏡像里去,但這樣做就無法復用了。 更常見的是, nginx, mysql, smtp 都分別是個鏡像,然后這些鏡像合作,共同服務一個項目。 docker-compose 就是解決這個問題的。你的項目需要哪些鏡像,每個鏡像怎么配置,要掛載哪些 volume, 等等信息都包含在 docker-compose.yml 里。 要啟動服務,只需要 docker-compose up 就行,停止也只需要 docker-compse stop/down 簡而言之, Dockerfile 記錄單個鏡像的構建過程, docker-compse.yml 記錄一個項目(project, 一般是多個鏡像)的構建過程。 你說有些教程用了 dockerfile+docker-compose, 是因為 docker-compose.yml 本身沒有鏡像構建的信息,如果鏡像是從 docker registry 拉取下來的,那么 Dockerfile 就不需要;如果鏡像是需要 build 的,那就需要提供 Dockerfile. docker-compose是編排容器的。例如,你有一個php鏡像,一個mysql鏡像,一個nginx鏡像。如果沒有docker-compose,那么每次啟動的時候,你需要敲各個容器的啟動參數,環境變量,容器命名,指定不同容器的鏈接參數等等一系列的操作,相當繁瑣。而用了docker-composer之后,你就可以把這些命令一次性寫在docker-composer.yml文件中,以后每次啟動這一整個環境(含3個容器)的時候,你只要敲一個docker-composer up命令就ok了。 dockerfile的作用是從無到有的構建鏡像。它包含安裝運行所需的環境、程序代碼等。這個創建過程就是使用 dockerfile 來完成的。Dockerfile - 為 docker build 命令準備的,用于建立一個獨立的 image ,在 docker-compose 里也可以用來實時 build docker-compose.yml - 為 docker-compose 準備的腳本,可以同時管理多個 container ,包括他們之間的關系、用官方 image 還是自己 build 、各種網絡端口定義、儲存空間定義等
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看