[{"data":1,"prerenderedAt":858},["ShallowReactive",2],{"wiki-page-\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong":3,"wiki-doc-items-\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong":788,"language-switcher-data-\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong":842,"wiki-i18n-paths-\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong":857},{"id":4,"title":5,"body":6,"canonicalPath":769,"chapterDepth":770,"chapterOrder":771,"date":772,"description":20,"docI18nKey":773,"docKey":774,"docRoot":775,"docTitle":776,"extension":777,"i18nKey":778,"isBlogPost":779,"isWikiDoc":369,"isWikiIndex":779,"layout":780,"legacyPath":780,"locale":781,"localeSlug":782,"meta":783,"navigation":369,"path":769,"seo":784,"sourcePath":785,"sourceStem":778,"stem":786,"wikiDepth":45,"__hash__":787},"content\u002F_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0300-Docker直通.md","Docker直通",{"type":7,"value":8,"toc":763},"minimark",[9,14,22,29,32,75,80,89,92,97,101,109,114,122,126,129,134,139,242,247,268,273,294,299,317,321,326,355,360,415,420,468,479,496,504,520,528,542,549,552,560,563,593,598,603,607,610,613,619,622,625,628,697,704,709,712,736,739,756,759],[10,11,13],"h3",{"id":12},"usb直通","USB直通",[15,16,17],"p",{},[18,19],"img",{"alt":20,"src":21},"","https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage5.webp",[23,24,25],"ol",{},[26,27,28],"li",{},"方法一(不是很推薦新手)：",[15,30,31],{},"創建容器的時候把需要的設備加在紅色部分這裡即可。可以通過下面的命令查看想要的設備的名字。",[33,34,38],"pre",{"className":35,"code":36,"language":37,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","ls \u002Fdev\n#例如\n--device=\u002Fdev\u002Ftty_USB0\n","bash",[39,40,41,54,61],"code",{"__ignoreMap":20},[42,43,46,50],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"sScJk","ls",[42,51,53],{"class":52},"sZZnC"," \u002Fdev\n",[42,55,57],{"class":44,"line":56},2,[42,58,60],{"class":59},"sJ8bj","#例如\n",[42,62,64,68,72],{"class":44,"line":63},3,[42,65,67],{"class":66},"sVt8B","--device",[42,69,71],{"class":70},"szBVR","=",[42,73,74],{"class":52},"\u002Fdev\u002Ftty_USB0\n",[23,76,77],{"start":56},[26,78,79],{},"方法二(個人更加推薦，不用重新再掛載了，雖然安全性會降低，但是別人利用安全權限能夠攻擊你的概率很低很低，企業服務器才需要提防)：",[33,81,83],{"className":35,"code":82,"language":37,"meta":20,"style":20},"--privileged\n",[39,84,85],{"__ignoreMap":20},[42,86,87],{"class":44,"line":45},[42,88,82],{"class":48},[15,90,91],{},"直接添加一行綠色部分，然後所有設備都會被掛載到docker了。(紅色部分就不用寫了)",[15,93,94],{},[18,95],{"alt":20,"src":96},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage6.webp",[10,98,100],{"id":99},"nvidia顯卡直通","NVIDIA顯卡直通",[15,102,103,104,108],{},"NVIDIA Container Toolkit使用戶 ",[105,106,107],"strong",{},"能夠構建和運行GPU加速的容器"," 。該工具包包括一個容器運行庫和實用程序，用於自動配置容器以利用NVIDIA GPU。",[15,110,111],{},[18,112],{"alt":20,"src":113},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage7.webp",[15,115,116],{},[117,118,119],"a",{"href":119,"rel":120},"https:\u002F\u002Fdocs.nvidia.com\u002Fdatacenter\u002Fcloud-native\u002Fcontainer-toolkit\u002Flatest\u002Finstall-guide.html",[121],"nofollow",[123,124,125],"h4",{"id":125},"安裝",[15,127,128],{},"（儘量能看官方就看官方的，安裝方式可能會更新）",[130,131,133],"h5",{"id":132},"ubuntu","Ubuntu",[23,135,136],{},[26,137,138],{},"配置存儲庫 並更新",[33,140,142],{"className":35,"code":141,"language":37,"meta":20,"style":20},"curl -fsSL https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fgpgkey | sudo gpg --dearmor -o \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnvidia-container-toolkit-keyring.gpg \\\n  && curl -s -L https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Fdeb\u002Fnvidia-container-toolkit.list | \\\n    sed 's#deb https:\u002F\u002F#deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fnvidia-container-toolkit-keyring.gpg] https:\u002F\u002F#g' | \\\n    sudo tee \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnvidia-container-toolkit.list \\\n  && \\\n    sudo apt-get update\n",[39,143,144,177,197,209,223,231],{"__ignoreMap":20},[42,145,146,149,153,156,159,162,165,168,171,174],{"class":44,"line":45},[42,147,148],{"class":48},"curl",[42,150,152],{"class":151},"sj4cs"," -fsSL",[42,154,155],{"class":52}," https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fgpgkey",[42,157,158],{"class":70}," |",[42,160,161],{"class":48}," sudo",[42,163,164],{"class":52}," gpg",[42,166,167],{"class":151}," --dearmor",[42,169,170],{"class":151}," -o",[42,172,173],{"class":52}," \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnvidia-container-toolkit-keyring.gpg",[42,175,176],{"class":151}," \\\n",[42,178,179,182,184,187,190,193,195],{"class":44,"line":56},[42,180,181],{"class":66},"  && ",[42,183,148],{"class":48},[42,185,186],{"class":151}," -s",[42,188,189],{"class":151}," -L",[42,191,192],{"class":52}," https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Fdeb\u002Fnvidia-container-toolkit.list",[42,194,158],{"class":70},[42,196,176],{"class":151},[42,198,199,202,205,207],{"class":44,"line":63},[42,200,201],{"class":48},"    sed",[42,203,204],{"class":52}," 's#deb https:\u002F\u002F#deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fnvidia-container-toolkit-keyring.gpg] https:\u002F\u002F#g'",[42,206,158],{"class":70},[42,208,176],{"class":151},[42,210,212,215,218,221],{"class":44,"line":211},4,[42,213,214],{"class":48},"    sudo",[42,216,217],{"class":52}," tee",[42,219,220],{"class":52}," \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnvidia-container-toolkit.list",[42,222,176],{"class":151},[42,224,226,228],{"class":44,"line":225},5,[42,227,181],{"class":66},[42,229,230],{"class":151},"\\\n",[42,232,234,236,239],{"class":44,"line":233},6,[42,235,214],{"class":48},[42,237,238],{"class":52}," apt-get",[42,240,241],{"class":52}," update\n",[23,243,244],{"start":56},[26,245,246],{},"安裝nvidia-docker2",[33,248,250],{"className":35,"code":249,"language":37,"meta":20,"style":20},"sudo apt-get install -y nvidia-docker2\n",[39,251,252],{"__ignoreMap":20},[42,253,254,257,259,262,265],{"class":44,"line":45},[42,255,256],{"class":48},"sudo",[42,258,238],{"class":52},[42,260,261],{"class":52}," install",[42,263,264],{"class":151}," -y",[42,266,267],{"class":52}," nvidia-docker2\n",[23,269,270],{"start":63},[26,271,272],{},"使用nvidia-ctk命令配置container runtime",[33,274,276],{"className":35,"code":275,"language":37,"meta":20,"style":20},"sudo nvidia-ctk runtime configure --runtime=docker\n",[39,277,278],{"__ignoreMap":20},[42,279,280,282,285,288,291],{"class":44,"line":45},[42,281,256],{"class":48},[42,283,284],{"class":52}," nvidia-ctk",[42,286,287],{"class":52}," runtime",[42,289,290],{"class":52}," configure",[42,292,293],{"class":151}," --runtime=docker\n",[23,295,296],{"start":211},[26,297,298],{},"重啟docker服務:",[33,300,302],{"className":35,"code":301,"language":37,"meta":20,"style":20},"sudo systemctl restart docker\n",[39,303,304],{"__ignoreMap":20},[42,305,306,308,311,314],{"class":44,"line":45},[42,307,256],{"class":48},[42,309,310],{"class":52}," systemctl",[42,312,313],{"class":52}," restart",[42,315,316],{"class":52}," docker\n",[130,318,320],{"id":319},"fedora","Fedora",[23,322,323],{},[26,324,325],{},"Configure the production repository:",[33,327,329],{"className":35,"code":328,"language":37,"meta":20,"style":20},"curl -s -L https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Fnvidia-container-toolkit.repo | \\\nsudo tee \u002Fetc\u002Fyum.repos.d\u002Fnvidia-container-toolkit.repo\n",[39,330,331,346],{"__ignoreMap":20},[42,332,333,335,337,339,342,344],{"class":44,"line":45},[42,334,148],{"class":48},[42,336,186],{"class":151},[42,338,189],{"class":151},[42,340,341],{"class":52}," https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Fnvidia-container-toolkit.repo",[42,343,158],{"class":70},[42,345,176],{"class":151},[42,347,348,350,352],{"class":44,"line":56},[42,349,256],{"class":48},[42,351,217],{"class":52},[42,353,354],{"class":52}," \u002Fetc\u002Fyum.repos.d\u002Fnvidia-container-toolkit.repo\n",[23,356,357],{"start":56},[26,358,359],{},"Optionally, configure the repository to use experimental packages:",[33,361,363],{"className":35,"code":362,"language":37,"meta":20,"style":20},"\n# 如果是RHEL或者Rocky（DNF4）\nsudo dnf config-manager --add-repo https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Flibnvidia-container.repo\n\n# 如果是Feodra41+（DNF5）\nsudo dnf config-manager addrepo --from-repofile=https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Flibnvidia-container.repo\n",[39,364,365,371,376,392,396,401],{"__ignoreMap":20},[42,366,367],{"class":44,"line":45},[42,368,370],{"emptyLinePlaceholder":369},true,"\n",[42,372,373],{"class":44,"line":56},[42,374,375],{"class":59},"# 如果是RHEL或者Rocky（DNF4）\n",[42,377,378,380,383,386,389],{"class":44,"line":63},[42,379,256],{"class":48},[42,381,382],{"class":52}," dnf",[42,384,385],{"class":52}," config-manager",[42,387,388],{"class":151}," --add-repo",[42,390,391],{"class":52}," https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Flibnvidia-container.repo\n",[42,393,394],{"class":44,"line":211},[42,395,370],{"emptyLinePlaceholder":369},[42,397,398],{"class":44,"line":225},[42,399,400],{"class":59},"# 如果是Feodra41+（DNF5）\n",[42,402,403,405,407,409,412],{"class":44,"line":233},[42,404,256],{"class":48},[42,406,382],{"class":52},[42,408,385],{"class":52},[42,410,411],{"class":52}," addrepo",[42,413,414],{"class":151}," --from-repofile=https:\u002F\u002Fnvidia.github.io\u002Flibnvidia-container\u002Fstable\u002Frpm\u002Flibnvidia-container.repo\n",[23,416,417],{"start":63},[26,418,419],{},"Install the NVIDIA Container Toolkit packages:",[33,421,423],{"className":35,"code":422,"language":37,"meta":20,"style":20},"\n# 如果是RHEL或者Rocky\nsudo dnf install -y nvidia-container-toolkit\n\n# 如果是Fedora\nsudo dnf install -y nvidia-container-toolkit\n",[39,424,425,429,434,447,451,456],{"__ignoreMap":20},[42,426,427],{"class":44,"line":45},[42,428,370],{"emptyLinePlaceholder":369},[42,430,431],{"class":44,"line":56},[42,432,433],{"class":59},"# 如果是RHEL或者Rocky\n",[42,435,436,438,440,442,444],{"class":44,"line":63},[42,437,256],{"class":48},[42,439,382],{"class":52},[42,441,261],{"class":52},[42,443,264],{"class":151},[42,445,446],{"class":52}," nvidia-container-toolkit\n",[42,448,449],{"class":44,"line":211},[42,450,370],{"emptyLinePlaceholder":369},[42,452,453],{"class":44,"line":225},[42,454,455],{"class":59},"# 如果是Fedora\n",[42,457,458,460,462,464,466],{"class":44,"line":233},[42,459,256],{"class":48},[42,461,382],{"class":52},[42,463,261],{"class":52},[42,465,264],{"class":151},[42,467,446],{"class":52},[23,469,470],{"start":211},[26,471,472,474,475,478],{},[105,473,246],{}," ： 在Fedora上使用",[39,476,477],{},"dnf","進行安裝。",[33,480,482],{"className":35,"code":481,"language":37,"meta":20,"style":20},"sudo dnf install -y nvidia-docker2\n",[39,483,484],{"__ignoreMap":20},[42,485,486,488,490,492,494],{"class":44,"line":45},[42,487,256],{"class":48},[42,489,382],{"class":52},[42,491,261],{"class":52},[42,493,264],{"class":151},[42,495,267],{"class":52},[23,497,498],{"start":225},[26,499,500,503],{},[105,501,502],{},"使用nvidia-ctk命令配置容器運行時"," ： 這個命令用於配置NVIDIA Container Toolkit與Docker集成。命令如下：",[33,505,506],{"className":35,"code":275,"language":37,"meta":20,"style":20},[39,507,508],{"__ignoreMap":20},[42,509,510,512,514,516,518],{"class":44,"line":45},[42,511,256],{"class":48},[42,513,284],{"class":52},[42,515,287],{"class":52},[42,517,290],{"class":52},[42,519,293],{"class":151},[23,521,522],{"start":233},[26,523,524,527],{},[105,525,526],{},"重啟Docker服務"," ： 完成配置後，必須重啟Docker服務以使更改生效：",[33,529,530],{"className":35,"code":301,"language":37,"meta":20,"style":20},[39,531,532],{"__ignoreMap":20},[42,533,534,536,538,540],{"class":44,"line":45},[42,535,256],{"class":48},[42,537,310],{"class":52},[42,539,313],{"class":52},[42,541,316],{"class":52},[15,543,544,545,548],{},"這些步驟執行後，Docker將使用NVIDIA Container Runtime，並支持GPU加速的容器運行。你可以使用",[39,546,547],{},"nvidia-smi","命令來驗證容器中的NVIDIA GPU是否可用。",[123,550,551],{"id":551},"測試是否可用",[23,553,554],{},[26,555,556,559],{},[105,557,558],{},"運行nvidia cuda 容器進行測試"," ：",[15,561,562],{},"可以使用下面指令進行測試，docker會自動從nvidia\u002Fcuda拉取11.0.3-base-ubuntu20.04鏡像，並創建一個運行一次即刪除的容器。",[33,564,566],{"className":35,"code":565,"language":37,"meta":20,"style":20},"sudo docker run --rm --gpus all nvidia\u002Fcuda:11.0.3-base-ubuntu20.04 nvidia-smi\n",[39,567,568],{"__ignoreMap":20},[42,569,570,572,575,578,581,584,587,590],{"class":44,"line":45},[42,571,256],{"class":48},[42,573,574],{"class":52}," docker",[42,576,577],{"class":52}," run",[42,579,580],{"class":151}," --rm",[42,582,583],{"class":151}," --gpus",[42,585,586],{"class":52}," all",[42,588,589],{"class":52}," nvidia\u002Fcuda:11.0.3-base-ubuntu20.04",[42,591,592],{"class":52}," nvidia-smi\n",[15,594,595],{},[18,596],{"alt":20,"src":597},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage8.webp",[15,599,600],{},[18,601],{"alt":20,"src":602},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage9.webp",[10,604,606],{"id":605},"docker配置cuda和cudnn","Docker配置CUDA和CuDNN",[15,608,609],{},"如果你不需要自己創建Docker鏡像，直接使用學長或者其他人創建好的鏡像，則不用看該章節，容器的CUDA和CuDNN是和本地完全隔離的環境，你本地有沒有CUDA都無所謂，但英偉達驅動版本必須滿足CUDA的最低版本要求。",[15,611,612],{},"下面是如果你想自己創建鏡像，則可以在學會如何創建容器的鏡像後再回來看本節：",[15,614,615],{},[117,616,617],{"href":617,"rel":618},"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnvidia\u002Fcuda",[121],[15,620,621],{},"在上方這個網站中，英偉達都幫我們配置好了CUDA和CuDNN了，我們根本不需要自己去配置了，比傳統方式要簡單太多太多了。",[15,623,624],{},"我們只需要找到對應的Docker鏡像當底包即可。",[15,626,627],{},"CUDA鏡像有三個類型，如下，如果我們需要編譯OpenCV4,那麼需要使用devel版的CUDA。",[629,630,631,651],"table",{},[632,633,634],"thead",{},[635,636,637,642,645,648],"tr",{},[638,639,641],"th",{"align":640},"left","鏡像類型",[638,643,644],{"align":640},"適用場景",[638,646,647],{"align":640},"示例標籤",[638,649,650],{"align":640},"大小",[652,653,654,669,683],"tbody",{},[635,655,656,660,663,666],{},[657,658,659],"td",{"align":640},"base",[657,661,662],{"align":640},"僅需 CUDA 運行時庫",[657,664,665],{"align":640},"12.4.0-base-ubuntu22.04",[657,667,668],{"align":640},"~240MB",[635,670,671,674,677,680],{},[657,672,673],{"align":640},"runtime",[657,675,676],{"align":640},"部署編譯後的應用（含數學庫）",[657,678,679],{"align":640},"12.4.0-runtime-ubuntu22.04",[657,681,682],{"align":640},"~2GB",[635,684,685,688,691,694],{},[657,686,687],{"align":640},"devel",[657,689,690],{"align":640},"開發環境（含編譯工具）",[657,692,693],{"align":640},"12.4.0-devel-ubuntu22.04",[657,695,696],{"align":640},"~3GB",[15,698,699,700,703],{},"我示例一個，比如我想用在Ubuntu24.04上用CUDA12.6和CuDNN，那麼就選擇",[39,701,702],{},"nvidia\u002Fcuda:12.6.0-cudnn-devel-ubuntu24.04","。這個鏡像既有CUDA-devel也有CuDNN，而且還是基於Ubuntu24.04的。",[15,705,706],{},[18,707],{"alt":20,"src":708},"https:\u002F\u002Fcdn.tungchiahui.cn\u002Ftungwebsite\u002Fassets\u002Fimages\u002F2024\u002F10\u002F03\u002Fimage10.webp",[15,710,711],{},"在dockerfile裡就可以開頭這麼寫。",[33,713,717],{"className":714,"code":715,"language":716,"meta":20,"style":20},"language-dockerfile shiki shiki-themes github-light github-dark","\n# 基于NVIDIA官方CUDA 12.6和CuDNN基础镜像\nFROM nvidia\u002Fcuda:12.6.0-cudnn-devel-ubuntu24.04\n","dockerfile",[39,718,719,723,728],{"__ignoreMap":20},[42,720,721],{"class":44,"line":45},[42,722,370],{"emptyLinePlaceholder":369},[42,724,725],{"class":44,"line":56},[42,726,727],{"class":59},"# 基于NVIDIA官方CUDA 12.6和CuDNN基础镜像\n",[42,729,730,733],{"class":44,"line":63},[42,731,732],{"class":70},"FROM",[42,734,735],{"class":66}," nvidia\u002Fcuda:12.6.0-cudnn-devel-ubuntu24.04\n",[10,737,738],{"id":738},"配置以太網",[33,740,742],{"className":35,"code":741,"language":37,"meta":20,"style":20},"--net=host \\\n",[39,743,744],{"__ignoreMap":20},[42,745,746,749,751,754],{"class":44,"line":45},[42,747,748],{"class":66},"--net",[42,750,71],{"class":70},[42,752,753],{"class":52},"host",[42,755,176],{"class":48},[15,757,758],{},"啟動參數里加上這行即可。具體在下方。",[760,761,762],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":20,"searchDepth":56,"depth":56,"links":764},[765,766,767,768],{"id":12,"depth":63,"text":13},{"id":99,"depth":63,"text":100},{"id":605,"depth":63,"text":606},{"id":738,"depth":63,"text":738},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong",0,"0300","2024-10-03","wiki\u002F2024-10-03-docker-jiao-cheng","zh-tw:2024-10-03-docker-jiao-cheng","\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng","Docker教程","md","wiki\u002F2024-10-03-Docker教程\u002F0300-Docker直通",false,null,"zh-TW","zh-tw",{},{"title":5,"description":20},"\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0300-Docker直通","ktICV0fKsSrM3OqB1_vXqTeuOvnyB1ogJkryzc0jmMY",[789,794,799,800,805,810,815,820,825,830,835,840],{"path":790,"stem":791,"title":792,"date":772,"chapterOrder":793,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0100-jian-jie","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0100-简介","簡介","0100",{"path":795,"stem":796,"title":797,"date":772,"chapterOrder":798,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0200-an-zhuang-docker","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0200-安装Docker","安裝Docker","0200",{"path":769,"stem":786,"title":5,"date":772,"chapterOrder":771,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},{"path":801,"stem":802,"title":803,"date":772,"chapterOrder":804,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0400-dockerhub-huan-yuan","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0400-DockerHub换源","DockerHub換源","0400",{"path":806,"stem":807,"title":808,"date":772,"chapterOrder":809,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0500-docker-rong-qi-li-de-cheng-xu-de-tu-xing-jie-mian-tan-bu-chu-lai","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0500-docker容器里的程序的图形界面弹不出来","docker容器裡的程序的圖形界面彈不出來","0500",{"path":811,"stem":812,"title":813,"date":772,"chapterOrder":814,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0600-docker-ming-ling-xue-xi","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0600-Docker命令学习","Docker命令學習","0600",{"path":816,"stem":817,"title":818,"date":772,"chapterOrder":819,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0650-shou-dong-chuang-jian-docker-jing-xiang","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0650-手动创建Docker镜像","手動創建Docker鏡像","0650",{"path":821,"stem":822,"title":823,"date":772,"chapterOrder":824,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0675-vscode-yuan-cheng-kai-fa","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0675-VScode远程开发","VScode遠程開發","0675",{"path":826,"stem":827,"title":828,"date":772,"chapterOrder":829,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0700-ge-zhong-docker-rong-qi-bu-shu","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F0700-各种Docker容器部署","各種Docker容器部署","0700",{"path":831,"stem":832,"title":833,"date":772,"chapterOrder":834,"chapterDepth":45,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F1000-0100-kuai-su-da-kai-zhong-duan","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F1000-0100-快速打开终端","Docker快速打開終端","1000-0100",{"path":836,"stem":837,"title":838,"date":772,"chapterOrder":839,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"\u002Fzh-tw\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F1000-docker-shi-yong-you-hua","_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002F1000-Docker使用优化","Docker使用優化","1000",{"path":775,"stem":841,"title":776,"date":772,"chapterOrder":780,"chapterDepth":770,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":369},"_i18n\u002Fzh-tw\u002Fwiki\u002F2024-10-03-Docker教程\u002Findex",{"variants":843},[844,847,850,853,854],{"path":845,"localeSlug":846,"i18nKey":778},"\u002Fen-us\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong","en-us",{"path":848,"localeSlug":849,"i18nKey":778},"\u002Fzh-hant\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong","zh-hant",{"path":851,"localeSlug":852,"i18nKey":778},"\u002Fzh-hk\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong","zh-hk",{"path":769,"localeSlug":782,"i18nKey":778},{"path":855,"localeSlug":856,"i18nKey":778},"\u002Fzh-cn\u002Fwiki\u002F2024-10-03-docker-jiao-cheng\u002F0300-docker-zhi-tong","zh-cn",[845,785,848,785,851,785,769,785,855,785],1784646874421]