<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>

                本書著重于生產環境或非開發環境中的Docker,這意味著我們不會花太多的篇幅在開發環境中Docker的配置和運行上。但由于所有服務器都在運行代碼,如何看待在Docker和非Docker系統中的應用程序代碼還是值得簡單討論一下的。 與Chef、Puppet和Ansible這類傳統配置系統不同,Docker最好的使用方式是將應用程序代碼預先打包成一個Docker鏡像。鏡像通常包含所有的應用程序代碼、運行時的依賴以及系統的需求。而包含數據庫憑證和其他敏感信息的配置文件通常在運行時添加,而非內建到鏡像中。 有些團隊會在開發機上手工構建Docker鏡像,然后推送到鏡像倉庫,之后再從倉庫中拉取鏡像到生產環境宿主機中。這是個很簡單的用例。雖然行得通,但從工作流和安全角度考慮并不理想。 一個更常見的生產環境示例是,使用持續集成/持續交付系統在應用程序代碼或Dockerfile文件發生變更時自動構建新鏡像。
                  <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>

                              哎呀哎呀视频在线观看