Dockerfile入門:構(gòu)建鏡像的完整指南
目錄一、dockerfile簡介什么是dockerfiledockerfile是什么為什么要用dockerfileDockerfile、Docker鏡像和Docker容器的關(guān)系二、DockerFile需要注意的編寫規(guī)范三、Docekrfile指令解析四、常用的Dockerfile指令詳解、格式與用法4.1 FROM必須4.2 MAINTAINER4.3 USER4.4 ENV必須4.5 VOLUME4.6 EXPOSE4.7 COPY4.8 ADD4.9 WORKDIR4.10 RUN必須4.11 CMD五、docker build構(gòu)建鏡像六、【實(shí)戰(zhàn)】docker自定義鏡像1、編寫Dockerfile2、構(gòu)建鏡像3、查看鏡像七、總結(jié)相關(guān)文章一、dockerfile簡介什么是dockerfileDockerfile 是一個用來構(gòu)建鏡像的文本文件文本內(nèi)容包含了一條條構(gòu)建鏡像所需的指令(Instruction)和操作命令;每一條指令構(gòu)建一層鏡像因此每一條指令的內(nèi)容就是描述該層鏡像應(yīng)當(dāng)如何構(gòu)建也就是你要執(zhí)行的操作命令。dockerfile是什么dockerfile是純文本文件dockerfile是用來構(gòu)建鏡像的dockerfile 用于指示 docker image build 命令自動構(gòu)建Image的源代碼dockerfile構(gòu)建鏡像的的格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefdocker/spanspan stylecolor:#98c379 build/spanspan stylecolor:#d19a66 -t/spanspan stylecolor:#98c379 要打的鏡像名:版本號/spanspan stylecolor:#98c379 Dockerfile路徑/span/code/span/spandockerfile構(gòu)建鏡像的的實(shí)例span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefdocker/spanspan stylecolor:#98c379 build/spanspan stylecolor:#d19a66 -t/spanspan stylecolor:#98c379 work:v1/spanspan stylecolor:#98c379 ./span/code/span/span為什么要用dockerfile?在dockerhub中官方提供很多鏡像已經(jīng)能滿足我們99的服務(wù)了,為什么還需要自定義鏡像?解析是官方的鏡像很多同時也可以滿足我們99的服務(wù)但是如果有的公司要做自己的產(chǎn)品那么官網(wǎng)的鏡像肯定是沒有的這時候就需要用到自定義鏡像而自定義鏡像就是dockerfile構(gòu)建成的我們可以用dockerfile自定義寫需要的操作來用dockerfile的指令來實(shí)現(xiàn)最終采用docker build來構(gòu)建鏡像構(gòu)建完鏡像可以采用docker save命令打成tar包以便于日后在其他服務(wù)器上使用也可以采用docker push提交到私有鏡像倉庫或dockerhub中。如上圖所示Dockerfile是獨(dú)立于本地docker實(shí)例的一個文本文件用于自動化地構(gòu)建具有特定功能的docker鏡像。Dockerfile鏡像構(gòu)建三部曲1構(gòu)建Dockerfile文件2采用docker build命令構(gòu)建鏡像3采用docker run命令依據(jù)鏡像運(yùn)行容器實(shí)例。Dockerfile、Docker鏡像和Docker容器的關(guān)系從應(yīng)用軟件開發(fā)角度來看它們分別表示軟件開發(fā)的三個階段1Dockerfile是軟件開發(fā)的原材料2Docker鏡像是軟件的交付品3Docker容器是Docker交付鏡像的實(shí)例化代表軟件的實(shí)際運(yùn)行過程。總結(jié)Dockerfile面向開發(fā)Docker鏡像為交付標(biāo)準(zhǔn)Docker容器與部署、運(yùn)維相關(guān)三則相輔相成缺一不可他們是Docker的三大基石。Docker在實(shí)際運(yùn)行中Dockerfile、Docker鏡像、Docker容器三者的運(yùn)作內(nèi)容如下所示1、Dockerfile定義了進(jìn)程需要的一切內(nèi)容包括代碼執(zhí)行、文件/環(huán)境變量、依賴包、運(yùn)行環(huán)境、操作系統(tǒng)發(fā)行版本、服務(wù)進(jìn)程、內(nèi)核進(jìn)程等等很多與操作系統(tǒng)底層相關(guān)的內(nèi)容。2、通過docker build指令會生成一個Docker鏡像它是為用戶提供各種服務(wù)的基礎(chǔ)3、Docker容器則是一個實(shí)例化的服務(wù)進(jìn)程。二、DockerFile需要注意的編寫規(guī)范1. # 代表注釋2.指令必須要大寫后面最少需要帶一個參數(shù)最多無限制;3.執(zhí)行dockerfile的時候指令是按照從上到下的順序執(zhí)行的三、Docekrfile指令解析注意指令全部都必須為大寫后面跟的是你要執(zhí)行的操作命令指令功能簡介FROM指定構(gòu)建新image是使用的基礎(chǔ)image通常必須是Dockerfile的第一個有效指令定義一個基礎(chǔ)鏡像。LABEL附加到image之上的元數(shù)據(jù)鍵值格式定義一些元數(shù)據(jù)。ENV以鍵值格式設(shè)定環(huán)境變量可被其后的指令所調(diào)用且基于新生成的image運(yùn)行的Container中也會存在這些變量。RUN以FROM中定義的image為基礎(chǔ)環(huán)境運(yùn)行指令命令生成結(jié)果將作為新image的一個鏡像層并可由后續(xù)指令所使用。RUN后跟要執(zhí)行的命令。CMD基于dockerfile生成的image運(yùn)行的container時CMD能夠指定容器中默認(rèn)運(yùn)行的程序因而其只應(yīng)該定義一次。ENTRYPOINT類似于CMD指令的功能但不能被命令行指定要運(yùn)行的應(yīng)用程序覆蓋且與CMD共存時CMD的內(nèi)容將作為該指令中定義的程序的參數(shù)。WORKDIR相當(dāng)于cd切換目錄的命令如果切換的那個地方?jīng)]有哪個目錄則會自動創(chuàng)建一個目錄。COPY相當(dāng)于cp命令復(fù)制主機(jī)上或者前一階段構(gòu)建結(jié)果中需要使用--from選項(xiàng)文件或目錄生成新的鏡像。ADD與COPY指令的功能相似但ADD傳輸壓縮包的時候是可以解壓的。VOLUME指定基于新生成的Image運(yùn)行Container時期望作為volume使用的目錄。EXPOSE指定基于新生成的lmage運(yùn)行Container時期望 暴露的端口但實(shí)際暴露與否取決于docker run”命令的選項(xiàng)支持TCP和UDP協(xié)議。USER為Dockerfile中該指令后面的RUN、CMD和ENTRYPOING指令中要運(yùn)行的應(yīng)用程序指定運(yùn)行者身份UID以及一個可選的GID。ARG定義專用于build過程中的變量但僅對該指標(biāo)之后的調(diào)用生效其值可由命令行選項(xiàng)--build-arg進(jìn)行傳遞。ONBUILD觸發(fā)器生效于由該Dockerfile 構(gòu)建出的新l/mage被用于另一個Dockerfile中的FROM指令作為基礎(chǔ)鏡像時。STOPSIGNAL用于通知Container終止的系統(tǒng)調(diào)用信號。HEALTHCHECK定義檢測容器應(yīng)用的健康狀態(tài)的具體方法。SHELL為容器定義運(yùn)行時使用的默認(rèn)shel程序Linux系統(tǒng)默認(rèn)使用 [/bin/sh”-c], Windows默認(rèn)使用 [’cmd, /S,/C]。四、常用的Dockerfile指令詳解、格式與用法必須是寫dockerfile必須有的沒有加的是可選的。4.1 FROM必須指定一個基礎(chǔ)鏡像必須為第一個命令。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefFROM/spanspan stylecolor:#98c379 基礎(chǔ)鏡像/span/code/span/span舉例一個nvidia、cuda10.1的centos7基礎(chǔ)鏡像span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefFROM/spanspan stylecolor:#98c379 nvidia/cuda:10.1-cudnn7-devel-centos7/span/code/span/span4.2 MAINTAINER維護(hù)者信息可以寫郵箱編輯人等等。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 郵箱/名字/span/code/span/span舉例展示郵箱和名字span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 liucy/span span stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 121212qq.com/span span stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 121212163.com/span/code/span/span4.3 USER指定運(yùn)行容器時的用戶名或 UID后續(xù)的 RUN 也會使用指定用戶。使用USER指定用戶時可以使用用戶名、UID或GID或是兩者的組合。當(dāng)服務(wù)不需要管理員權(quán)限時可以通過該命令指定運(yùn)行用戶。并且可以在之前創(chuàng)建所需要的用戶格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefUSER/spanspan stylecolor:#98c379 用戶名/span span stylecolor:#abb2bf/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 user:group /span span stylecolor:#abb2bf/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 uid /span span stylecolor:#abb2bf/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 uid:gid /span span stylecolor:#abb2bf/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 user:gid /span span stylecolor:#abb2bf/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 uid:group/span/code/span/span舉例指定root用戶span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefUSER/spanspan stylecolor:#98c379 root/span/code/span/span4.4 ENV必須設(shè)置環(huán)境變量格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefENV/spanspan stylecolor:#98c379 環(huán)境變量路徑/span/code/span/span舉例設(shè)置jdk1.8的環(huán)境變量span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefENV/spanspan stylecolor:#98c379 JAVA_HOME/usr/local/jdk1.8.0_333//span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 export/spanspan stylecolor:#98c379 JRE_HOME/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/jre/span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 export/spanspan stylecolor:#98c379 CLASSPATH.:/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/lib:/spanspan stylecolor:#e06c75$JRE_HOME/spanspan stylecolor:#98c379/lib/span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 PATH/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/bin:/spanspan stylecolor:#e06c75$PATH/span/code/span/span4.5 VOLUME用于指定持久化目錄指定此目錄可以被掛載出去格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefVOLUME/spanspan stylecolor:#98c379 掛載路徑/span/code/span/span舉例掛載到/data目錄span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefVOLUME/spanspan stylecolor:#abb2bf [/spanspan stylecolor:#98c379/data/spanspan stylecolor:#abb2bf]/span/code/span/span4.6 EXPOSE設(shè)置端口EXPOSE指令是聲明運(yùn)行時容器提供服務(wù)端口這只是一個聲明在運(yùn)行時并不會因?yàn)檫@個聲明應(yīng)該就會開啟這個端口的服務(wù)。在Dockerfile中寫入這樣的聲明有兩個好處是幫助鏡像使用者理解這個鏡像服務(wù)的守護(hù)端口以方便配置映射在運(yùn)行是使隨機(jī)端口映射時也就是docker run -P(大寫)時會自動隨機(jī)映射EXPOSE端口。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefEXPOSE/spanspan stylecolor:#98c379 端口號/span/code/span/span舉例設(shè)置一個8080端口span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefEXPOSE/spanspan stylecolor:#d19a66 8080/span/code/span/span4.7 COPY復(fù)制文件相當(dāng)于linux命令中的cp命令功能類似ADD但是是不會自動解壓文件也不能訪問網(wǎng)絡(luò)資源格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefCOPY/spanspan stylecolor:#98c379 源文件及路徑/spanspan stylecolor:#98c379 目標(biāo)路徑/span/code/span/span舉例復(fù)制一個mysql到/usr/local/下span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefCOPY/spanspan stylecolor:#98c379 /root/mysql/spanspan stylecolor:#98c379 /usr/local//span/code/span/span4.8 ADD將本地文件添加到容器中tar類型文件會自動解壓(網(wǎng)絡(luò)壓縮資源不會被解壓)可以訪問網(wǎng)絡(luò)資源類似wget。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefADD/spanspan stylecolor:#98c379 源文件及路徑/spanspan stylecolor:#98c379 目標(biāo)路徑/span/code/span/span舉例移動一個mysql-2-2.tarspan stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefADD/spanspan stylecolor:#98c379 /usr/local/mysql-2-2.tar/spanspan stylecolor:#98c379 /root//span/code/span/span4.9 WORKDIR切換目錄相當(dāng)于linux命令中的cd命令切換到這個目錄進(jìn)入容器時就是這個目錄所以workdir就屬于啟動默認(rèn)的目錄。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefWORKDIR/spanspan stylecolor:#98c379 目錄名/span/code/span/span舉例設(shè)置啟動就在/data/目錄span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefWORKDIR/spanspan stylecolor:#98c379 /data//span/code/span/span4.10 RUN必須構(gòu)建鏡像時執(zhí)行的命令執(zhí)行的命令就是你指定的要他干什么使用linux命令就可以。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefRUN/spanspan stylecolor:#98c379 要執(zhí)行的命令/span/code/span/span舉例打鏡像時下載一個netstat命令span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefRUN/spanspan stylecolor:#98c379 yum/spanspan stylecolor:#d19a66 -y/spanspan stylecolor:#98c379 install/spanspan stylecolor:#98c379 net-tools/span/code/span/span4.11 CMD構(gòu)建鏡像后調(diào)用也就是在容器啟動時才進(jìn)行調(diào)用。寫一次dockerfile只能出現(xiàn)一次CMD而出現(xiàn)CMD的地方就屬于結(jié)尾如果下面有RUN指令則都不執(zhí)行。格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefCMD/spanspan stylecolor:#98c379 要執(zhí)行的命令/span/code/span/span舉例執(zhí)行刪除dockerfile打完鏡像要刪除dockerfilespan stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefCMD/spanspan stylecolor:#98c379 rm/spanspan stylecolor:#d19a66 -rf/spanspan stylecolor:#98c379 /data/dockerfile/span/code/span/span五、docker build構(gòu)建鏡像dockerfile構(gòu)建鏡像的的格式span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefdocker/spanspan stylecolor:#98c379 build/spanspan stylecolor:#d19a66 -t/spanspan stylecolor:#98c379 要打的鏡像名:版本號/spanspan stylecolor:#98c379 Dockerfile路徑/span/code/span/spandockerfile構(gòu)建鏡像的的實(shí)例span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefdocker/spanspan stylecolor:#98c379 build/spanspan stylecolor:#d19a66 -t/spanspan stylecolor:#98c379 work:v1/spanspan stylecolor:#98c379 ./span/code/span/span六、【實(shí)戰(zhàn)】docker自定義鏡像說明此處只是測試使用并不能用到生產(chǎn)中生產(chǎn)中要根據(jù)自己的情況來寫可以構(gòu)建成鏡像也可以創(chuàng)建容器可以進(jìn)入容器查看這些文件但是web頁面訪問不到因?yàn)闆]有加入jar包之類的可以自行放入一個jar包端口設(shè)置3000然后啟動jar包就可以了去訪問web頁面了。前言有一點(diǎn)特別重要構(gòu)建鏡像的時候要看好你的文件是不是這個目錄要不然打到一半會報(bào)錯說找不到文件切記要記得放文件在放文件的目錄執(zhí)行。1、編寫Dockerfilespan stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#7f848eem#創(chuàng)建Dockerfile文本/em/span span stylecolor:#61afefvim/spanspan stylecolor:#98c379 Dockerfile/span/code/span/spanspan stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#7f848eem#設(shè)置基礎(chǔ)鏡像/em/span span stylecolor:#61afefFROM/spanspan stylecolor:#98c379 nvidia/cuda:10.1-cudnn7-devel-centos7/span span stylecolor:#7f848eem#維護(hù)者信息/em/span span stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 liucy/span span stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 121212qq.com/span span stylecolor:#61afefMAINTAINER/spanspan stylecolor:#98c379 121212163.com/span span stylecolor:#7f848eem#指定運(yùn)行時的用戶以及鏡像的實(shí)際用戶/em/span span stylecolor:#61afefUSER/spanspan stylecolor:#98c379 root/span span stylecolor:#7f848eem#下載netstat命令/em/span span stylecolor:#61afefRUN/spanspan stylecolor:#98c379 yum/spanspan stylecolor:#d19a66 -y/spanspan stylecolor:#98c379 install/spanspan stylecolor:#98c379 net-tools/span span stylecolor:#7f848eem#設(shè)置jdk1.8的環(huán)境/em/span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 JAVA_HOME/usr/local/jdk1.8.0_333//span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 export/spanspan stylecolor:#98c379 JRE_HOME/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/jre/span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 export/spanspan stylecolor:#98c379 CLASSPATH.:/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/lib:/spanspan stylecolor:#e06c75$JRE_HOME/spanspan stylecolor:#98c379/lib/span span stylecolor:#61afefENV/spanspan stylecolor:#98c379 PATH/spanspan stylecolor:#e06c75$JAVA_HOME/spanspan stylecolor:#98c379/bin:/spanspan stylecolor:#e06c75$PATH/span span stylecolor:#7f848eem#開放一個3000端口/em/span span stylecolor:#61afefEXPOSE/spanspan stylecolor:#d19a66 3000/span span stylecolor:#7f848eem#移動并解壓Grafana.tar安裝包/em/span span stylecolor:#61afefADD/spanspan stylecolor:#98c379 /root/Grafana.tar/spanspan stylecolor:#98c379 /home//span span stylecolor:#7f848eem#復(fù)制當(dāng)前目錄下的所有到/data/cs/里/em/span span stylecolor:#61afefCOPY/spanspan stylecolor:#98c379 .//spanspan stylecolor:#98c379 /data/home//span span stylecolor:#7f848eem#設(shè)置python3.6.8環(huán)境/em/span span stylecolor:#61afefRUN/spanspan stylecolor:#98c379 cd/spanspan stylecolor:#98c379 /data/Python-3.6.8//spanspan stylecolor:#abb2bf /spanspan stylecolor:#61afef./configure/spanspan stylecolor:#d19a66 --prefix/root/python36/spanspan stylecolor:#abb2bf /spanspan stylecolor:#61afefmake/spanspan stylecolor:#abb2bf /spanspan stylecolor:#61afefmake/spanspan stylecolor:#98c379 install/spanspan stylecolor:#abb2bf /spanspan stylecolor:#61afefln/spanspan stylecolor:#d19a66 -s/spanspan stylecolor:#98c379 /root/python36/bin/python3.6/spanspan stylecolor:#98c379 /usr/bin/python3/spanspan stylecolor:#abb2bf /spanspan stylecolor:#61afefln/spanspan stylecolor:#d19a66 -s/spanspan stylecolor:#98c379 /root/python36/bin/pip3/spanspan stylecolor:#98c379 /usr/bin/pip3/span span stylecolor:#7f848eem#切換到/data/目錄/em/span span stylecolor:#61afefWORKDIR/spanspan stylecolor:#98c379 /data//span span stylecolor:#7f848eem#最后執(zhí)行刪除Dockerfile/em/span span stylecolor:#61afefCMD/spanspan stylecolor:#98c379 rm/spanspan stylecolor:#d19a66 -rf/spanspan stylecolor:#98c379 Dockerfile/span/code/span/span2、構(gòu)建鏡像span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#61afefdocker/spanspan stylecolor:#98c379 build/spanspan stylecolor:#d19a66 -t/spanspan stylecolor:#98c379 dockerfile:v1/spanspan stylecolor:#98c379 ./span/code/span/span等待構(gòu)建完成。3、查看鏡像span stylebackground-color:#282c34span stylecolor:#abb2bfcode classlanguage-bashspan stylecolor:#abb2bf[rootcs ~]# docker images/span span stylecolor:#61afefREPOSITORY/spanspan stylecolor:#98c379 TAG/spanspan stylecolor:#98c379 IMAGE/spanspan stylecolor:#98c379 ID/spanspan stylecolor:#98c379 CREATED/spanspan stylecolor:#98c379 SIZE/span span stylecolor:#61afefdockerfile/spanspan stylecolor:#98c379 v1/spanspan stylecolor:#98c379 15c89s63e742/spanspan stylecolor:#d19a66 2/spanspan stylecolor:#98c379 months/spanspan stylecolor:#98c379 ago/spanspan stylecolor:#98c379 8.5GB/span/code/span/span

相關(guān)新聞

Dify開源LLMOps平臺:高效構(gòu)建AI應(yīng)用的實(shí)踐指南

Dify開源LLMOps平臺:高效構(gòu)建AI應(yīng)用的實(shí)踐指南

1. 項(xiàng)目概述:Dify作為開源LLMOps平臺的崛起在2023年AI智能體爆發(fā)式增長的背景下,Dify作為一款開源的LLMOps(大語言模型運(yùn)維)平臺迅速進(jìn)入開發(fā)者視野。這個由國內(nèi)團(tuán)隊(duì)開發(fā)的項(xiàng)目,本質(zhì)上是一個面向生產(chǎn)環(huán)境的AI應(yīng)用開發(fā)框…

2026/7/31 1:24:50 閱讀更多
Unity URP自定義后處理開發(fā)指南:從ScriptableRendererFeature原理到Bloom實(shí)戰(zhàn)

Unity URP自定義后處理開發(fā)指南:從ScriptableRendererFeature原理到Bloom實(shí)戰(zhàn)

1. 項(xiàng)目概述:為什么URP的自定義后處理是必學(xué)技能?如果你正在用Unity的URP管線做項(xiàng)目,尤其是對畫面表現(xiàn)有要求的項(xiàng)目,比如二次元風(fēng)格、賽博朋克或者需要特殊濾鏡效果,那你大概率已經(jīng)遇到過內(nèi)置后處理(Post-P…

2026/7/31 1:24:50 閱讀更多
rom和ram的區(qū)別是什么

rom和ram的區(qū)別是什么

當(dāng)然。RAM(隨機(jī)存取存儲器)和 ROM(只讀存儲器)是計(jì)算機(jī)系統(tǒng)中最核心的兩種存儲器,它們最根本的區(qū)別在于數(shù)據(jù)的易失性和讀寫特性,這也決定了它們在計(jì)算機(jī)中扮演的完全不同的角色。1. 核心區(qū)別對比特性維度RA…

2026/7/31 1:24:50 閱讀更多
Proteus啟動報(bào)錯PRODEFS.INT丟失?4步解決方案與路徑配置詳解

Proteus啟動報(bào)錯PRODEFS.INT丟失?4步解決方案與路徑配置詳解

1. 問題背景與核心癥結(jié)剖析如果你是一位電子電路設(shè)計(jì)或單片機(jī)開發(fā)的從業(yè)者,那么Proteus這款軟件大概率是你的“老伙計(jì)”。它集成了原理圖繪制、混合模式仿真和PCB設(shè)計(jì),從學(xué)生時代的課程設(shè)計(jì)到工作后的方案預(yù)研,都離不開它。然而,這…

2026/8/1 6:59:53 閱讀更多
亞馬遜二季度財(cái)報(bào)超預(yù)期:AWS增速創(chuàng)18季新高,AI與自研芯片業(yè)務(wù)表現(xiàn)亮眼

亞馬遜二季度財(cái)報(bào)超預(yù)期:AWS增速創(chuàng)18季新高,AI與自研芯片業(yè)務(wù)表現(xiàn)亮眼

AWS增速創(chuàng)18季新高美國當(dāng)?shù)貢r間7月30日,亞馬遜公布截至2026年6月30日的第二季度財(cái)報(bào),靠AWS和AI業(yè)務(wù)增長,交出超預(yù)期答卷。財(cái)報(bào)顯示,亞馬遜凈銷售額達(dá)2006億美元,同比增長20%,高于LSEG分析師平均預(yù)期的1964.…

2026/8/1 6:59:53 閱讀更多
AI復(fù)讀與雙語聽力設(shè)備選型指南:從功能實(shí)測到長期使用

AI復(fù)讀與雙語聽力設(shè)備選型指南:從功能實(shí)測到長期使用

這類英語聽力學(xué)習(xí)設(shè)備最值得先看的不是功能列表,而是它到底能不能在真實(shí)學(xué)習(xí)場景里穩(wěn)定、高效地幫你提升聽力水平。從標(biāo)題來看,阿爾法蛋 D1 聽力 AI 雙語英語聽力隨身聽主打的是外研社新版內(nèi)容、智能復(fù)讀和 128G 大存儲,還搭配了有線耳機(jī)。但…

2026/8/1 6:59:53 閱讀更多
拼多多又一狠活:AI自動篩選“最可能被薅羊毛”的100條路徑,安全測試效率翻10倍

拼多多又一狠活:AI自動篩選“最可能被薅羊毛”的100條路徑,安全測試效率翻10倍

關(guān)注 霍格沃茲軟件測試開發(fā) 公眾號,回復(fù)「資料」, 領(lǐng)取人工智能測試開發(fā)技術(shù)合集 大家好,我是老K,一個在電商安全圈兒摸爬滾打七八年的老兵。 前兩天跟一個在拼多多做安全的老友擼串,三杯啤酒下肚,他跟我吐了個槽&…

2026/8/1 6:59:53 閱讀更多
第八章決策理論Decision Theory

第八章決策理論Decision Theory

第八章決策理論Decision Theory8.1 決策理論提出在前面章節(jié)中,WSaiOS 已經(jīng)建立:感知元素↓認(rèn)知元素↓元素組織↓元素關(guān)聯(lián)↓映射理解↓推理推理解決:根據(jù)已有知識得到可能結(jié)果。但是:推理結(jié)果并不等于行動。例如:系統(tǒng)推…

2026/8/1 6:49:53 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動化設(shè)備及通用機(jī)械驅(qū)動。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動機(jī)。額定…

2026/8/1 0:09:33 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動化設(shè)備及通用機(jī)械驅(qū)動。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動機(jī)。額定…

2026/8/1 0:09:33 閱讀更多