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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Dockerfile 是一個文本文件,其內包含了一條條的指令(Instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。 >[info]減少分層,縮小鏡像體積。 使用.dockerignore ## 構建鏡像 ~~~ docker build [選項] <上下文路徑/URL/-> ~~~ ### 參數 ~~~ -t,--tag 打標簽 ~~~ ## 構建上下文 構建時會將上下文的內容傳到docker的服務端,需要使用的文件也需要放到這個上下文中。 ## FROM 指定存在的基礎鏡像 ~~~ FROM <image> 或者 FROM <image>:<tag> ~~~ ## MAINTAINER 指定作者和聯系信息 ~~~ MAINTAINER <name> 比如:MAINTAINER hiyang echohiyang@foxmail.com ~~~ ## RUN 鏡像構建過程中需要執行的指令 ~~~ shell模式 RUN <command> 默認使用`/bin/sh -c `執行命令 RUN yum install -y httpd exec模式 RUN ["executable", "param1", "param2"] RUN ["/bin/bash", "-c", "echo hello"] ~~~ ## CMD 指定容器運行時的默認行為 若運行時指定指令,則會被覆蓋 ~~~ CMD ["executable", "param1", "param2"] CMD command param1 param2 ~~~ RUN和CMD看起來挺像,但是,CMD用來指定容器啟動時用到的命令,只能有一條。當docker run時指定運行命令,將不會執行 ## ENTRYPOINT 格式類似CMD 容器啟動時要執行的命令,它和CMD很像,也是只有一條生效,如果寫多個只有最后一條有效。 CMD 是可以被 docker run 指令覆蓋的,而ENTRYPOINT的參數可以被--entrypoint覆蓋;會比CMD或者docker run指定的命令要靠前執行。 ## EXPOSE ~~~ EXPOSE <port> [<port>...] EXPOSE 22 80 8443 ~~~ 這個用來指定要映射出去的端口,比如容器內部我們啟動了sshd和nginx,所以我們需要把22和80端口映射出去。 ## ENV 它主要是為后續的RUN指令提供一個環境變量;在構建過程和運行過程中同樣有效 ~~~ ENV <key> <value>, 比如 ENV PATH /usr/local/mysql/bin:$PATH ENV MYSQL_version 5.6 ~~~ ## COPY 復制 ~~~ COPY <源路徑>... <目標路徑> ~~~ 構建上下文目錄中 **<源路徑>** 的文件/目錄復制到新的一層的鏡像內的 <目標路徑> 位置 ,<目標路徑> 可以是容器內的絕對路徑,也可以是相對于工作目錄的相對路徑 >[danger]使用 COPY 指令,源文件的各種元數據都會保留。比如讀、寫、執行權限、文件變更時間等。這個特性對于鏡像定制很有用。特別是構建相關文件都在使用 Git 進行管理的時候。 ## ADD 高級復制 ~~~ ADD <src> <dest> ~~~ 提供了tar功能 將本地的一個文件或目錄拷貝到容器的某個目錄里。 其中src為Dockerfile所在目錄的相對路徑,它也可以是一個url(不推薦使用)。 ## VOLUME ~~~ VOLUME ["/data"] ~~~ 創建一個可以從本地主機或其他容器掛載的掛載點。 ## USER 默認使用root用戶 ~~~ USER daemon ~~~ 執行 RUN , CMD 以及ENTRYPOINT 這類命令的身份 ## WORKDIR ~~~ WORKDIR /path/to/workdir ~~~ 需使用絕對路徑 ## ONBUILD 鏡像觸發器,當鏡像為用作其他鏡像的基礎鏡像時會執行 會在構建過程中插入指令 ## HEALTHCHECK 選項 ~~~ --interval=<間隔> 兩次健康檢查的間隔,默認為 30 秒; --timeout=<時長> 健康檢查命令運行超時時間,如果超過這個時間,本次健康檢查就被視為失敗,默認 30 秒; --retries=<次數> 當連續失敗指定次數后,則將容器狀態視為unhealthy ,默認 3 次 ~~~ ### 測試用 ~~~ FROM nginx RUN apt-get update && apt-get install -y curl && rm -rf /var/lib /apt/lists/* HEALTHCHECK --interval=5s --timeout=3s \ CMD curl -fs http://localhost/ || exit 1 ~~~ ## docker build -t centos:base -f /soft/docker/Dockerfile /soft ~~~ docker build -t myweb:v1 . docker run -d --name web -p 80:80 myweb:v1 docker inspect --format '{{json .State.Health}}' web | python -m json.tool ~~~ [dockerfile最佳實踐][] [1]:https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
                  <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>

                              哎呀哎呀视频在线观看