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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                add于copy都可以用來: 1. 從dockerfile中構建 docker image時,將本地文件添加到鏡像當中去,比如編譯安裝nginx的tar包,nginx的配置文件等,使得配置和安裝更加的靈活。 2. 格式如下 ``` ADD <src> <dest> COPY <src> <dest> ``` ## 1. add ### 1.1 可以下載文件 ``` ADD http://foo.com/bar.go /tmp/main.go ``` 以上文件會通過制定的URL下載下來,并且添加到容器的文件系統中的/tmp/main.go路徑中。另外一種形式是讓你簡單地制定目的目錄為下載文件: ``` ADD http://foo.com/bar.go /tmp/ ``` 因為以 / 結尾 **Docker 會從URL推斷文件名,并且添加到指定目錄。** 在這個案例中,一個名叫/tmp/bar.go的文件會被添加到容器的文件系統。 ### 1.2 add 自動解壓 *ADD的另外一個特性是有能力自動解壓文件。* 如果參數是一個可識別的壓縮格式(tar, gzip, bzip2, etc)的本地文件(所以實現不了同時下載并解壓),就會被解壓到指定容器文件系統的路徑。 > ADD /foo.tar.gz /tmp/ 上述指令會使foo.tar.gz壓縮文件解壓到容器的/tmp目錄。 **URL下載和解壓特性不能一起使用。任何壓縮文件通過URL拷貝,都不會自動解壓。** ## 2. copy 1. 在Docker 1.0發布時候,包括了新指令COPY。不像是ADD,**COPY 更加直接了當,只復制文件或者目錄到容器里**。建議用copy,簡單直接。 2. **COPY不支持URL,也不會特別對待壓縮文件**。如果build 上下文件中沒有指定解壓的話,那么就不會自動解壓,只會復制壓縮文件到容器中。 COPY是ADD的一種簡化版本,目的在于滿足大多數人“復制文件到容器”的需求。使用哪個? 假如目前還不明顯的話,那Docker 團隊的建議是在大多數情況下使用COPY。 真的,使用ADD的唯一原因就是你有一個壓縮文件,你想自動解壓到鏡像中。 OK,但是如果想要從遠程URLS 中獲取包的話,ADD還是沒用么?技術上來說,是的。但是在大多數情況下,你更有可能運行curl或者wget。看看下面的例子吧: ``` ADD http://foo.com/package.tar.bz2 /tmp/ RUN tar -xjf /tmp/package.tar.bz2 \\ && make -C /tmp/package \\ && rm /tmp/package.tar.bz2 ``` 這里我們有一個ADD指令,用于解析URL的壓縮包,緊接著是RUN指令,用于解壓這個壓縮包。然后編譯并嘗試刪除下載的壓縮包。 很不幸,當這個壓縮包壓縮后,rm命令處于獨立的鏡像層。。 在這個案例中,你組好這樣做: ``` RUN curl http://foo.com/package.tar.bz2 \\ | tar -xjC /tmp/package \\ && make -C /tmp/package ``` 這里,我們curl 這個壓縮包并且通過管道傳給tar 命令解壓。這樣就在同一層鏡像那么我們就可以刪除壓縮包了。 始終還是會有理由使用ADD 一個遠程文件到你的鏡像中,但是這個一個明確的決定,而不是默認的選擇。 最后,只要認準一個原則:使用COPY(除非你明確你需要ADD)
                  <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>

                              哎呀哎呀视频在线观看